All Projects → SRGSSR → playsrg-apple

SRGSSR / playsrg-apple

Licence: MIT license
The Play SRG applications for iOS and tvOS

Programming Languages

objective c
16641 projects - #2 most used programming language
swift
15916 projects
ruby
36898 projects - #4 most used programming language
javascript
184084 projects - #8 most used programming language
c
50402 projects - #5 most used programming language
shell
77523 projects
Makefile
30231 projects

SRG Media Player logo

About

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 and on Android phones:

Platform Play RSI Play RTR Play RTS Play SRF Play SWI
iOS / tvOS 📱📺 📱📺 📱📺 📱📺 📱📺
Android 🤖 🤖 🤖 🤖 🤖
Web 🖥 🖥 🖥 🖥 🖥

Screenshots

Features

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).

Compatibility

The project runs on iOS 14, tvOS 14 and above and must be opened with the latest Xcode version.

Contributing

If you want to contribute to the project, have a look at our contributing guide.

Required tools

  • 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
    

Building the project

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

Project setup

After checking out the project run:

make setup

to setup the project and its dependencies.

Private settings

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:

  1. Perform the required changes in the Configuration directory (and in the project as well if needed).
  2. Switch to the Configuration directory and commit changes there.
  3. Update the Makefile CONFIGURATION_COMMIT_SHA1 variable to point at the configuration commit to use.
  4. 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.

Running the project

Simply open the project with Xcode and wait until all dependencies have been retrieved. Then build and run the project.

Releasing binaries

The proprietary project uses fastlane for releasing binaries, either for internal purposes or for the AppStore.

Specifications

Follow the links below for feature specifications and technical details:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].