Play SRG is the SRG SSR (Swiss Broadcasting Corporation) audio and video platform, provided as a distinct service for each of its business units (RSI, RTR, RTS, SRF and SWI). This repository contains the source code of the Play SRG applications for iOS and tvOS.
The Play platform is more generally available on the web, on Android phones and devices running Android TV:
Platform | Play RSI | Play RTR | Play RTS | Play SRF | Play SWI |
---|---|---|---|---|---|
iOS / tvOS | 🍎📱📺 | 🍎📱📺 | 🍎📱📺 | 🍎📱📺 | 🍎📱📺 |
Android / Android TV | 🤖📱📺 | 🤖📱📺 | 🤖📱📺 | 🤖📱📺 | 🤖📱📺 |
Web | 🖥📱💻 | 🖥📱💻 | 🖥📱💻 | 🖥📱💻 | 🖥📱💻 |
The application provides a rich set of functionalities, among which:
- Access to our content, whether it is broadcast on TV, radio or online.
- A TV guide.
- An audio mini player (iOS only).
- Subscriptions with push notifications (iOS only).
- Resume playback and continuous playback.
- Favorites.
- Downloads (iOS only).
- AirPlay, Google Cast and CarPlay support (iOS only).
- VoiceOver and larger font support for better accessibility.
- Handoff support (iOS only).
Depending on the business unit some functionalities might not be available (e.g. SWI has no radio content).
The project runs on iOS 14, tvOS 14 and above and must be opened with the latest Xcode version.
If you want to contribute to the project, have a look at our contributing guide.
-
Building the project requires command-line tools for icon generation, easily installed with Homebrew:
brew install imagemagick ghostscript jq
-
Some project dependencies are retrieved using CocoaPods. Be sure that this tool is available on your system:
which pod pod --version
A Makefile provides several targets to prepare project dependencies. The available targets can be listed by running the following command from the project root folder:
make help
After checking out the project run:
make setup
to setup the project and its dependencies.
Private project settings (keys, tokens, etc.) are stored in a private repository, pulled under the Configuration
directory when running make setup
(or any other target depending on it). The SHA-1 of the configuration commit which is used is explicitly provided in the Makefile
. Settings are therefore versioned alongside the project, providing for reproducible builds.
If you need to make changes to the settings:
- Perform the required changes in the
Configuration
directory (and in the project as well if needed). - Switch to the
Configuration
directory and commit changes there. - Update the Makefile
CONFIGURATION_COMMIT_SHA1
variable to point at the configuration commit to use. - Push all commits when you are ready.
The project can be built without private settings but some features might not be available (e.g. push notifications) or configured in a different way.
Simply open the project with Xcode and wait until all dependencies have been retrieved. Then build and run the project.
The proprietary project uses fastlane to release binaries, either for internal purposes or for the AppStore.
Follow the links below for feature specifications and technical details: