This article describes how to integrate the Wowza Flowplayer SDK with the Google Cast SDK, to show and control media on a Google Cast device. The instructions assume you have installed the Wowza Flowplayer SDK and its dependencies in your app.
You can download the SDK through CocoaPods or manually.
Add FlowplayerChromecast together with its dependencies in your Podfile:
pod 'Flowplayer', '~> 3.0.3' # required
pod 'FlowplayerChromecast', '~> 3.0.3'Execute pod install and you're ready to go.
- Use
Google CastiOS SDK version4.7.0or above - Use
Flowplayerversion3.0.3or above
Download the XC framework of Wowza Flowplayer Chromecast iOS SDK from here.
If you have arm64 excluded as a valid architecture for Simulators, add the following code at the bottom of your Podfile file so that Protobuf, a dependency of Google Cast, can compile.
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
# Disable arm64 arch for Protobuf :(
# As of writing this most dep. are x86_64 compiled and not arm64. 03.02.2022
if target.name == "Protobuf"
if config.name == "Debug"
config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
end
end
end
end
endFollow the instructions for how to add the Google Cast SDK to your project (Develop iOS Sender App: Setup). This involves adding the Cast SDK, either manually or via third-party dependency managers like CocoaPods, and all its dependencies. Also, don't forget to add the desired capabilities in your Xcode project.
If you have your own Cast receiver app, you can set the app id in your iOS app's Info.plist using the key FlowplayerCastReceiverAppId. If not set, the Wowza Flowplayer SDK will use Wowza Flowplayer's default Cast receiver app.
Early on in your app's startup process, you need to start the FPCastManager. The Wowza Flowplayer cast manager will, in turn, start the Google Cast context provided by the Google Cast SDK.
Your app delegate's application:didFinishLaunchingWithOptions: is a good place to start the cast manager:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Start the cast manager.
FPCastManager.shared.start()
return true
}Please follow the Google Cast instructions to add a Cast button.