Repository navigation
Swift Radio’s stations list, Now Playing, station information and About screens have been rebuilt in SwiftUI, preserving the familiar station cards, artwork, marquee titles and popup player.
What’s new
- Rebuilt navigation, popup presentation and options-sheet transitions, including returning directly to the player after sharing.
- Improved playback and audio-session coordination. Scrubbing resumes playback, while a later Pause, Stop or station change takes precedence over an older seek.
- Shared station and playback state across iPhone and CarPlay, keeping artwork and metadata aligned.
- Loading, retry and pagination support for larger CarPlay catalogs.
- SwiftRadioCore separates playback, catalog loading, artwork and system-media integration from the interface, making the app easier to maintain and extend.
- Swift 6 with complete concurrency checking.
- FRadioPlayer 0.4.0, LNPopupUI 4.0.1 and LNPopupController 4.5.12.
- Updated configuration, architecture and localization documentation, plus a refreshed sample station catalog.
Also on Android
Our Android equivalent, Swift Radio Android, uses Kotlin, Jetpack Compose and the same station JSON format. We’ve added compose-popupbar for its expandable Now Playing bar and full player, bringing a similar popup experience to the iOS version’s LNPopupUI and LNPopupController.
Requirements and upgrading
Requires iOS 17+ and Xcode 26.6+. Existing forks should migrate custom UIKit controllers and coordinators into the SwiftUI structure. The station JSON format remains compatible; branding and content remain configurable through Config, assets and the String Catalog.