analogcode
Swift-Radio-Pro
Swift

Professional Radio Station App for iOS!

Last updated Jul 6, 2026
2.9k
Stars
712
Forks
11
Issues
0
Stars/day
Attention Score
96
Language breakdown
Swift 100.0%
โ–ธ Files click to expand
README

Swift Radio

iOS build CarPlay build

Open-source radio station app built entirely in Swift. Used by 80+ apps on the App Store.

Swift Radio

Looking for Android? See Swift Radio Android. Same station format, native Kotlin and Jetpack Compose.

Features

  • Stream live radio with background audio playback
  • Scrubber and progress bar for non-live streams
  • Apple CarPlay support
  • Album art and track metadata from streams and iTunes API
  • Lock screen and Control Center integration
  • Multiple stations from a local or remote JSON file
  • Pull to refresh and optional search bar
  • Localization-ready via Xcode String Catalog
  • About screen with email, sharing, and external links
Built on FRadioPlayer for streaming, metadata parsing, and iTunes album art fetching.

Getting Started

  • Open SwiftRadio.xcodeproj in Xcode
  • Edit SwiftRadio/Config/Config.swift to set your stations URL, contact email, website, and other app-wide settings
  • Update your stations in SwiftRadio/Data/stations.json or host the file remotely
  • Build and run

Station Format

Each station in stations.json supports the following fields:

{
  "name": "Station Name",
  "streamURL": "https://stream.example.com/live",
  "imageURL": "station-image",
  "desc": "Short tagline",
  "longDesc": "Longer description for the detail screen",
  "website": "https://example.com"
}

Images can be local (asset name without http) or remote (full URL).

Customizing Text and Translation

All user-facing strings are managed through Localizable.xcstrings (the String Catalog). Open it in Xcode to change the default English text or add new languages. No code changes required.

Dependencies

| Library | Purpose | |---------|---------| | FRadioPlayer | Streaming, metadata parsing, iTunes album art | | LNPopupController | Now playing popup bar | | NVActivityIndicatorView | Loading indicators | | MarqueeLabel | Scrolling text labels |

All managed via Swift Package Manager.

Contributing

Contributions are welcome. Please branch off dev and open a pull request --do not commit directly to master.

Single Station Version

Looking for a simpler, single-station version? It skips the station list and launches straight into the player. One purchase now includes both the iOS and Android single-station projects.

Buy on Payhip

All proceeds go directly toward maintaining and improving Swift Radio.

For custom work or more advanced needs, reach out to Fethi.

Built something with Swift Radio? We'd love to see it --drop us a line at contact@fethica.com.

Credits

License

Swift Radio is open source and available under the MIT License.

ยฉ 2026 GitRepoTrend ยท analogcode/Swift-Radio-Pro ยท Updated daily from GitHub