Bitmovin Player iOS Samples
This repository contains sample apps which are using the Bitmovin Player iOS SDK.
Table of Contents
- Available Sample Apps
- Sample App Setup Instructions
- How to integrate the Bitmovin Player iOS SDK
- Development Notes
- Documentation And Release Notes
- BasicPlayback: Shows how to set up the Bitmovin Player for basic playback of HLS or progressive streams.
- BasicPlaybackTV: Shows how to set up the Bitmovin Player for basic playback of HLS or progressive streams in a tvOS application.
- BasicMetadataHandling: Shows how to set up and configure the Bitmovin Player for playback of content that contains metadata.
- BasicUIKit: Shows how to integrate the Bitmovin Player and the Player View using UIKit.
- BasicUIKitTV: Shows how to integrate the Bitmovin Player and the Player View using UIKit in a tvOS application.
- BasicPlaybackObjectiveC: Shows how to set up the Bitmovin Player for basic playback of HLS or progressive streams using Objective-C.
- BasicPlaybackSPM: Shows how to set up the Bitmovin Player for basic playback of HLS or progressive streams with the Swift Package Manager (SPM.)
- BasicDRMPlayback: Shows how to set up and configure the Bitmovin Player for playback of FairPlay Streaming protected content.
- BasicOfflinePlayback: Shows how to set up the Bitmovin Player to download protected and unprotected content for offline playback.
- BackgroundPlayback: Shows how to set up the Bitmovin Player for background playback (e.g. to play audio in silent mode).
- BasicCasting: Shows how to set up and configure Google ChromeCast support with the Bitmovin Player. (Please mind the Casting Requirements)
- AdvancedCasting: Shows how to implement advanced casting use cases. (Please mind the Casting Requirements)
- BasicAds: Shows how to set up and configure the Bitmovin Player for playback of ads.
- SystemUI: Shows how to use the system UI instead of the default UI.
- BasicFullscreenHandling: Shows how to use the
BitmovinFullscreenHandler-protocol to implement basic fullscreen handling.
- BasicPictureInPicture: Shows how to set up and configure the Bitmovin Player to use Picture in Picture.
- BasicPlaylist: Shows how to implement queueing / playlists.
- BasicPlaylistTV: Shows how to implement queueing / playlists in a tvOS application.
- NextUpTV: Shows how to implement next-up feature in a tvOS application.
- SharePlay: Shows how to use the SharePlay feature to coordinate playback for multiple participants.
- Analytics: Shows how to set up Analytics for the Bitmovin Player.
pod install --repo-update to properly initialize the workspace.
In each sample app, you also have to provide two license keys, a Bitmovin Player license key and a Bitmovin Analytics license key.
Your Bitmovin Player license key can be found when logging in into https://bitmovin.com/dashboard and navigating to
Player -> Licenses.
You need to provide your player license key via the
PlayerConfig.key property, that is used when creating a
Your Bitmovin Analytics license key can be found when logging in into https://bitmovin.com/dashboard and navigating to
Analytics -> Licenses. Refer to our samples to see how the anayltics license key is provided when creating a
Once you have set up your project’s development team, you’ll have a unique bundle identifier. This is because the bundle identifier is based on the
This is the final and unique bundle identifier that you have to enter to our dashboard:
Add the following bundle identifier of the sample application ending with your unique
DEVELOPMENT_TEAM value as an allowed domain on https://bitmovin.com/dashboard, under
Player -> Licenses and also under
Analytics -> Licenses.
Make sure to replace
$(DEVELOPMENT_TEAM) with your Apple development team's ID.
# Basics: com.bitmovin.player.samples.playback.basic-$(DEVELOPMENT_TEAM) com.bitmovin.player.samples.tv.playback.basic-$(DEVELOPMENT_TEAM) com.bitmovin.player.samples.playback.basicuikit-$(DEVELOPMENT_TEAM) com.bitmovin.player.samples.tv.playback.basicuikit-$(DEVELOPMENT_TEAM) com.bitmovin.player.samples.metadata.basic-$(DEVELOPMENT_TEAM) # DRM: com.bitmovin.player.samples.drm.basic-$(DEVELOPMENT_TEAM) # Offline Playback: com.bitmovin.player.samples.offline.basic-$(DEVELOPMENT_TEAM) # Playback & Casting: com.bitmovin.player.samples.playback.background-$(DEVELOPMENT_TEAM) com.bitmovin.player.samples.casting.basic-$(DEVELOPMENT_TEAM) com.bitmovin.player.samples.casting.advanced-$(DEVELOPMENT_TEAM) # Advertising: com.bitmovin.player.samples.ads.basic-$(DEVELOPMENT_TEAM) # UI: com.bitmovin.player.samples.custom.ui.html-$(DEVELOPMENT_TEAM) com.bitmovin.player.samples.fullscreen.basic-$(DEVELOPMENT_TEAM) com.bitmovin.player.samples.pictureinpicture.basic-$(DEVELOPMENT_TEAM) com.bitmovin.player.samples.systemui-$(DEVELOPMENT_TEAM) # Playlist: com.bitmovin.player.samples.playlist.basic-$(DEVELOPMENT_TEAM) com.bitmovin.player.samples.tv.playlist.basic-$(DEVELOPMENT_TEAM) # Next Up: com.bitmovin.player.samples.tv.nextup-$(DEVELOPMENT_TEAM) # SharePlay com.bitmovin.player.samples.shareplay-$(DEVELOPMENT_TEAM) # Analytics com.bitmovin.player.samples.analytics-$(DEVELOPMENT_TEAM)
When you want to develop an own iOS application using the Bitmovin Player iOS SDK read through the following steps.
To add the SDK as a dependency to your project, you have two options: Using CocoaPods or adding the SDK bundle directly.
source 'https://github.com/bitmovin/cocoapod-specs.git'to your Podfile.
pod repo updateto add the newly added source.
pod 'BitmovinPlayer', '3.45.0'to your Podfile.
- Install the pod using
Podfile of this repository for a full example.
When using Xcode, go to the
General page or your app target and add the SDK bundle (
Linked Frameworks and Libraries. The latest SDK for iOS and tvOS can be downloaded here.
Add your Bitmovin player license key to the
BitmovinPlayerLicenseKey. Alternatively you can also set the license key via the
PlayerConfig.keyproperty when creating a
Your player license key can be found when logging in into https://bitmovin.com/dashboard and navigating to
Player -> Licenses.
Add the Bundle identifier of the iOS application which is using the SDK as an allowed domain to the Bitmovin licensing backend. This can be also done under
Player -> Licenseswhen logging in into https://dashboard.bitmovin.com with your account.
When you do not do this, you'll get a license error when starting the application which contains the player.
- If you are using the Google Cast SDK (
AdvancedCasting), make sure the following requirements are met:
- Use a provisioning profile with
Access WiFi Informationenabled
NSBluetoothAlwaysUsageDescriptionkey is set in the
If you have any questions or issues with this SDK or its examples, or you require other technical support for our services, please login to your Bitmovin Dashboard at https://bitmovin.com/dashboard and create a new support case. Our team will get back to you as soon as possible 👍