Setup for Developing with the Cast Application Framework (CAF) for iOS

The Cast framework supports iOS version 9 and later, and is a dynamic framework.

See the Google Cast iOS API Reference for descriptions of all classes and methods.

Note that newer generation Cast devices support guest mode for iOS but older generation devices do not. For details, see Guest Mode - Supported Cast Devices.

Xcode setup

Xcode 10

Ensure that the Access WiFi Information switch in the Capabilities section of the target is set to "On".

Additionally, your provisioning profile will need to support the Access WiFi Information capability. This can be added in the Apple Developer Portal.

Google Cast SDK

Cocoapods Setup

The recommended way of integrating Google Cast is using the google-cast-sdk Cocoapod. To get started, follow the getting started guide.

Once Cocoapods is set up, follow the using cocoapods guide to get your Podfile created and your project ready to use with the Google Cast SDK.

Here is an example Podfile from the CastVideos-iOS sample project:

use_frameworks!

platform :ios, '9.0'

def target_pods
  pod 'google-cast-sdk'
end

target 'CastVideos-objc' do
  target_pods
end
target 'CastVideos-swift' do
  target_pods
end

For your project, you should specify a range for your pods to prevent unexpected breaking changes as detailed in the podfile guide.

In this example, version 4.3 and the versions up to 5.0 are allowed, not including 5.0 and higher:

pod 'google-cast-sdk', '~> 4.3'

Manual Setup

The following instructions are for manually adding the framework to your project.

Download the Cast 4.3.3 iOS Sender API libraries.

In your Xcode project, set the Other Linker Flags in Build Settings to: -ObjC -lc++.

In your Xcode project, add the following framework libraries (linked, not embedded):

  • Accelerate.framework
  • AudioToolbox.framework
  • AVFoundation.framework
  • CFNetwork.framework
  • CoreBluetooth.framework
  • CoreData.framework
  • CoreGraphics.framework
  • CoreMedia.framework
  • CoreText.framework
  • Foundation.framework
  • GoogleCast.framework
  • MediaAccessibility.framework
  • MediaPlayer.framework
  • QuartzCore.framework
  • Security.framework
  • SystemConfiguration.framework
  • UIKit.framework

The libraries appear in your project as follows:

Next, add the dynamic GoogleCast.framework to the Embedded Binaries section of the General tab in the target's settings. Do not remove GoogleCast.framework from the Linked Frameworks and Libraries section; it must still be in there as well.

Ensure that the Runpath Search Paths setting of the Build Settings in the project's settings is set to "@executable_path/Frameworks".

Ensure that the settings in the Embed Frameworks section of Build Phases lists the GoogleCast.framework.

Publishing your app to App Store

Before publishing your app to the App Store, you need to run shell script strip_unused_archs.sh to strip unused architectures from the app bundle. This script is in the Cast SDK for iOS.