Troubleshooting
Can't see Cast Button / No Cast Devices Available
This is by far the most common problem with this library. Before creating an issue, please read through this list of known solutions to see if anything helps:
Most TVs don't support the native Cast SDK protocol, so even if it appears that apps like YouTube and Netflix (and the Chrome browser) are able to Cast, they're in fact communicating directly with their counterpart app on the TV using DIAL, not the Cast SDK. Officially, only Chromecast, Android TV, and devices with the official Chromecast logo are supported by the SDK.
To check if your device is supported:
Test with the reference CastVideos-ios or CastVideos-android apps.
Try the Google Home, Google Photos, or another Cast-enabled app to make sure they can see the Cast device you're trying to connect to.
If any of the above don't see the device, it doesn't support the Google Cast SDK, and you won't be able to cast to it using this library.
Make sure you've completed all the steps in Installation and Setup.
Read through Discovery Troubleshooting in the Google Cast documentation.
If you're creating a custom web receiver and its status is Unpublished in the Google Cast SDK Developer Console, make sure you register your device in the Cast Receiver Devices. Once you do that, you need to wait about 15 minutes and then restart your Cast device.
Check the Debug log in Xcode or Android Studio for any warnings and errors.
(Android) Make sure the device has Google Play Services available and that you initialize
CastContext.getSharedInstance(this);
in yourMainActivity
'sonCreate
.(Android) emulators are not supported. Please test with a real Android device before reporting an issue. Alternatively, you may try using Genymotion but note it doesn't support M1/ARM Macs yet.
(iOS) If you disabled discovery autostart in iOS Setup, make sure you call startDiscovery somewhere in your JS code.
(iOS) Double check that you've configured Bonjour services in
Info.plist
.(iOS) If calling
showCastDialog
, note that the user has to tap the Cast Button and grant permissions first before you can programmatically open the dialog.(iOS) You may want to set
options.startDiscoveryAfterFirstTapOnCastButton = false
if you're not explicitly requiring the user to tap the Cast Button first and instead want to start discovery immediately after launching the app.
Other Issues
com.google.android.gms.dynamite.DynamiteModule$zza: No acceptable module found. Local version is 0 and remote version is 0.
You don't have Google Play Services available on your device. Make sure to install them either from the Play Store, from OpenGApps or follow tutorials online.
java.lang.IllegalStateException: The activity must be a subclass of FragmentActivity
Make sure your
MainActivity
extendsGoogleCastActivity
,AppCompatActivity
, or some other descendant ofFragmentActivity
..../react-native-google-cast/ios/RNGoogleCast/components/RNGoogleCastButtonManager.m:1:9: fatal error: 'React/RCTViewManager.h' file not found
Select
React
from the Schemes and build it first (Cmd+B) before running your main project.duplicate symbol __ZN3fLB18FLAGS_nolog_prefixE in: /Users/user/Documents/Apps/test-rn/RNAwesomeProject/ios/Pods/google-cast-sdk/GoogleCastSDK-ios-4.3.1_static/GoogleCast.framework/GoogleCast(logging_f31ccd6e0091bd60840b95581a5633bf.o) ld: 7 duplicate symbols for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
This is caused by Google introducing a dynamic SDK build in 4.3.1. It seems to affects Google SDK versions 4.3.x - 4.4.x. Please upgrade to the latest SDK (4.5+) or use
react-native-google-cast/NoBluetooth
.building for iOS Simulator, but linking in object file built for iOS, file '.../ios/Pods/google-cast-sdk-no-bluetooth/GoogleCastSDK-ios-4.7.0_static/GoogleCast.framework/GoogleCast' for architecture arm64
When building on M1/ARM Macs, you need to edit your
ios/Podfile
as described in Installation.(Android) Using
tools:node="replace"
in AndroidManifest may cause media to not load on the Cast device #349. See firebase/quickstart-android#477 for options how to resolve this.