With the recent updates to iOS, Apple has enforced new restrictions and permissions that affect the way the Cast SDK needs to be build and setup. For your app to maintain Cast functionality with the latest versions of iOS, you must make updates to handle these changes in permissions.
We are asking all developers to be prepared to update their iOS sender apps to the forthcoming 4.5.0 version of the Google Cast SDK, which will provide support for iOS 14. iOS 14 is expected to release in mid-September.
Beginning with iOS 14, applications that scan for devices on the local network will now prompt users with a one-time permissions dialog to find and connect to local network devices. The Cast platform uses the local network to discover and control Cast devices, so if the user denies permission, they will not be able to cast. If you do not modify your app before iOS 14 is released, users will see this permissions dialog the first time your app is launched after a user upgrades their phone to iOS 14. Users who disallow local network device access will no longer see the Cast icon, and the user will not be able to cast from your app until the user changes the setting to allow the app use of local network devices.
To improve the user experience, we are making some UX modifications to the SDK to make it more obvious to users how to enable casting if local network device access has been disabled, for those who are using the standard device picker. We expect that these changes will be available by mid-late August in version 4.5.0 of the Cast SDK. We strongly recommend you plan to update your app with the new SDK prior to the iOS 14 release, to ensure that users will have the best Cast experience once iOS 14 is released.
Frequently asked questions
What happens if I don't update the iOS version of my Cast app when iOS 14 is released?
Users will be prompted with a new permissions dialog upon app launch. If a user does not consent to allowing the app to scan or connect to devices on the local network the first time the app launches, the Cast icon will no longer be visible, and users may become confused as to why they cannot Cast with your app.
Will I need to make any changes to my Web Receiver, Android TV Receiver, or Android sender to support this?
No, no changes will be necessary.
What will I need to do to update my app once the new version of the Cast SDK is released?
With iOS 13, Apple has introduced stricter permissions requirements which impact apps using the Google Cast SDK.
Starting with Google Cast SDK v4.4.3, an additional SDK is available without
guest mode support that does not require the Bluetooth®
permission. This is available both on the
developer site and on the new
google-cast-sdk-no-bluetooth Cocoapod. As a reminder, the
guest mode feature is the ability for the sender app to
be able to detect cast devices within a certain physical proximity without being
on the same network, using a PIN displayed on guest mode-enabled devices.
To prepare your app for iOS 13 you will need to decide if you:
Need to keep guest mode support
- Must add the
Privacy - Bluetooth Always Usage Descriptionkey.
- Add a string to explain the Bluetooth® usage for your users to your Info.plist.
Need to remove guest mode support
- Prevents your app from requiring Cast Bluetooth® requirements.
- Integrate the latest version of the Google Cast SDK with no Bluetooth® support.
- This is available both on the
developer site and on the new
Near future considerations
Some system-level APIs that involve how we discover devices will be changing behaviors in iOS 13. We'll be updating the Google Cast SDK to work better with the new behaviors.
Here is a breakdown depending on the version of the iOS SDK you are currently using:
Apps built with the iOS 12 SDK or earlier
- Action Recommended. Device discovery performance may decrease when running on iOS 13, but will still be functional. We highly recommend developers upgrade to Cast SDK v4.4.4 when available.
- iOS 13 will prompt users to grant Bluetooth® permissions to the app.
Apps built with the iOS 13 SDK
- Action Required: Update to Cast SDK 4.4.4 or the cast button may not appear if the user does not grant location permission. Upgrading to Cast SDK 4.4.4 is necessary to ensure a reliable casting experience on iOS 13.
- Please refer to developer documentation for more information on how to integrate guest mode, or opt-out of guest mode with Google Cast SDK and no Bluetooth® support.