I'm encountering some production problems with the GCK. Everything works fine on the simulator, but when I build on a real device, nothing works.
At first, I thought it would have been a Signing or Capabilities problem, but I'm a registered developer and the entitlements file contains the capabilities required by the Google Cast SDK.
I have followed every step of this setup guide.
https://developers.google.com/cast/docs/ios_sender
The logger is enabled, here's the output:
2019-10-08 11:26:38.368932-0400 od-cast-ios[1861:488951] GoogleCast framework version 4.4.1.24
2019-10-08 11:26:39.616730-0400 od-cast-ios[1861:488951] BCOV Identity registered: [BCOVSDKIdentity]; version: [6.4.4.683]
2019-10-08 11:26:39.624111-0400 od-cast-ios[1861:488951] BCOV Identity registered: [BCOVGoogleCastManager]; version: [6.4.5.699]
2019-10-08 11:26:39.650010-0400 od-cast-ios[1861:488951] [framework] CoreUI: RunTimeThemeRefForBundleIdentifierAndName() couldn't find Assets.car in bundle with identifier: '(null)'
2019-10-08 11:26:39.650410-0400 od-cast-ios[1861:488951] [framework] CoreUI: RunTimeThemeRefForBundleIdentifierAndName() couldn't find Assets.car in bundle with identifier: '(null)'
2019-10-08 11:26:39.794589-0400 od-cast-ios[1861:488951] [TableView] Warning once only: UITableView was told to layout its visible cells and other contents without being in the view hierarchy (the table view or one of its superviews has not been added to a window). This may cause bugs by forcing views inside the table view to load and perform layout without accurate information (e.g. table view bounds, trait collection, layout margins, safe area insets, etc), and will also cause unnecessary performance overhead due to extra layout passes. Make a symbolic breakpoint at UITableViewAlertForLayoutOutsideViewHierarchy to catch this in the debugger and see what caused this to occur, so you can avoid this action altogether if possible, or defer it until the table view has been added to a window. Table view: <UITableView: 0x11e0ba000; frame = (0 90; 375 722); clipsToBounds = YES; autoresize = RM+BM; gestureRecognizers = <NSArray: 0x282866730>; layer = <CALayer: 0x282644dc0>; contentOffset: {0, 0}; contentSize: {375, 836}; adjustedContentInset: {0, 0, 0, 0}; dataSource: <od_cast_ios.EpisodeViewController: 0x11dd03d50>>
2019-10-08 11:26:39.917132-0400 od-cast-ios[1861:488951] [] nehelper sent invalid result code [1] for Wi-Fi information request
CoreData: annotation: Failed to load optimized model at path '/var/containers/Bundle/Application/E39F738B-E03E-4857-A5B4-28E3F2F3047A/od-cast-ios.app/GoogleCastCoreResources.bundle/CastFrameworkDB.momd/CastFrameworkDB03.omo'
Also, I'm using GoogleCast framework version 4.4.1.24 and building on iOS 13.
On the simulator, everything is running fine, the cast button is showed and the Chromecast devices are discovered.
But when I'm building the app on my device, the button is not instantiated.
I might go insane in the next few hours if I can't find a solution :(
Google just released a new SDK version and the Cast button disappearing problem is solved there.
The earlier version was: 4.5.3, Current version is:4.6.0
Just do a "pod update" from your terminal and then run your app.