[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-7047":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":17,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":40,"readmeContent":41,"aiSummary":42,"trendingCount":16,"starSnapshotCount":16,"syncStatus":43,"lastSyncTime":44,"discoverSource":45},7047,"Swift-Radio-Pro","analogcode\u002FSwift-Radio-Pro","analogcode","Professional Radio Station App for iOS!","",null,"Swift",2926,716,149,11,0,1,3,30.57,"MIT License",false,"master",true,[25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],"album-art","audio","audio-player","avplayer","itunes-api","lastfm","music","music-player","player","radio","radio-station","sound","spotify-api","swift","swift-radio","2026-06-12 02:01:33","# Swift Radio\n\n[![iOS build](https:\u002F\u002Fgithub.com\u002Fanalogcode\u002FSwift-Radio-Pro\u002Factions\u002Fworkflows\u002Fios.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fanalogcode\u002FSwift-Radio-Pro\u002Factions\u002Fworkflows\u002Fios.yml)\n[![CarPlay build](https:\u002F\u002Fgithub.com\u002Fanalogcode\u002FSwift-Radio-Pro\u002Factions\u002Fworkflows\u002Fcarplay.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fanalogcode\u002FSwift-Radio-Pro\u002Factions\u002Fworkflows\u002Fcarplay.yml)\n\nOpen-source radio station app built entirely in Swift. Used by **80+ apps** on the App Store.\n\n\u003Cp align=\"center\">\n    \u003Cimg alt=\"Swift Radio\" src=\"swift-radio-preview.png\" width=\"700\">\n\u003C\u002Fp>\n\n**Looking for Android?** See [Swift Radio Android](https:\u002F\u002Fgithub.com\u002Ffethica\u002FSwift-Radio-Android). Same station format, native Kotlin and Jetpack Compose.\n\n## Features\n\n- Stream live radio with background audio playback\n- Scrubber and progress bar for non-live streams\n- Apple CarPlay support\n- Album art and track metadata from streams and iTunes API\n- Lock screen and Control Center integration\n- Multiple stations from a local or remote JSON file\n- Pull to refresh and optional search bar\n- Localization-ready via Xcode String Catalog\n- About screen with email, sharing, and external links\n\nBuilt on [FRadioPlayer](https:\u002F\u002Fgithub.com\u002Ffethica\u002FFRadioPlayer) for streaming, metadata parsing, and iTunes album art fetching.\n\n## Getting Started\n\n1. Open `SwiftRadio.xcodeproj` in Xcode\n2. Edit `SwiftRadio\u002FConfig\u002FConfig.swift` to set your stations URL, contact email, website, and other app-wide settings\n3. Update your stations in `SwiftRadio\u002FData\u002Fstations.json` or host the file remotely\n4. Build and run\n\n### Station Format\n\nEach station in `stations.json` supports the following fields:\n\n```json\n{\n  \"name\": \"Station Name\",\n  \"streamURL\": \"https:\u002F\u002Fstream.example.com\u002Flive\",\n  \"imageURL\": \"station-image\",\n  \"desc\": \"Short tagline\",\n  \"longDesc\": \"Longer description for the detail screen\",\n  \"website\": \"https:\u002F\u002Fexample.com\"\n}\n```\n\nImages can be local (asset name without `http`) or remote (full URL).\n\n### Customizing Text and Translation\n\nAll 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.\n\n## Dependencies\n\n- [FRadioPlayer](https:\u002F\u002Fgithub.com\u002Ffethica\u002FFRadioPlayer) --streaming and metadata\n- [LNPopupController](https:\u002F\u002Fgithub.com\u002FLeoNatan\u002FLNPopupController) --now playing popup bar\n- [NVActivityIndicatorView](https:\u002F\u002Fgithub.com\u002Fninjaprox\u002FNVActivityIndicatorView) --loading indicators\n- [MarqueeLabel](https:\u002F\u002Fgithub.com\u002Fcbpowell\u002FMarqueeLabel) --scrolling text labels\n\nAll managed via Swift Package Manager.\n\n## Contributing\n\nContributions are welcome. Please branch off [`dev`](https:\u002F\u002Fgithub.com\u002Fanalogcode\u002FSwift-Radio-Pro\u002Ftree\u002Fdev) and open a pull request --do not commit directly to `master`.\n\n## Single Station Version\n\nLooking for a simpler, single-station version? It skips the station list and launches straight into the player.\n\n[![Buy on Payhip](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBuy-Single%20Station-blue)](https:\u002F\u002Fpayhip.com\u002Fb\u002Fx15QB)\n\nAll proceeds go directly toward maintaining and improving Swift Radio.\n\nFor custom work or more advanced needs, reach out to [Fethi](mailto:contact@fethica.com).\n\n**Built something with Swift Radio?** We'd love to see it --drop us a line at [contact@fethica.com](mailto:contact@fethica.com).\n\n## Credits\n\n- [Fethi](https:\u002F\u002Ffethica.com) --co-organizer and lead developer\n- [Matthew Fecher](http:\u002F\u002Fmatthewfecher.com) --creator, [AudioKit Pro](https:\u002F\u002Faudiokitpro.com)\n- [All contributors](https:\u002F\u002Fgithub.com\u002Fanalogcode\u002FSwift-Radio-Pro\u002Fgraphs\u002Fcontributors)\n\n## License\n\nSwift Radio is open source and available under the [MIT License](LICENSE).\n","Swift Radio 是一个专为iOS设计的专业电台应用。它使用Swift语言开发，支持直播电台流媒体播放，并具备后台音频播放、进度条控制、Apple CarPlay支持等功能。此外，该应用还集成了专辑封面和曲目元数据展示（通过流媒体或iTunes API获取），以及锁屏和控制中心集成等特性。Swift Radio非常适合那些希望在iOS平台上提供高质量广播体验的应用开发者使用。项目采用MIT许可证开放源代码，拥有活跃的社区支持。",2,"2026-06-11 03:10:15","top_language"]