ios - -[GCKCastDeviceProvider stopDiscovery] 必须在主线程上调用

标签 ios multithreading chromecast

在使用 google cast sdk 3 做出 native react 时,我们重新加载应用程序的所有内容都会崩溃,错误是 - [GCKCastDeviceProvider stopDiscovery] 必须在主线程上调用

我们把所有的代码放在里面:

   dispatch_async(dispatch_get_main_queue(), ^{ 
     // my code block
   });

我们还检查是否真的在主线程上:
 if ([NSThread isMainThread]) {
    NSLog(@"on main thread");
}

最佳答案

基于此release note , CastContext 中的所有方法必须从主线程调用您的应用程序调用,否则为 Exception将被抛出。另外,这个documentation声明必须从主线程调用所有 SDK 方法。

关于ios - -[GCKCastDeviceProvider stopDiscovery] 必须在主线程上调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47581021/

相关文章:

c++ - If 语句仅在调试 cout 行之前通过(C 中的多线程)

c++ - 以最便宜/最少侵入的方式自动更新一点?

javascript - 如果未安装 Chromecast 扩展程序或使用隐身模式,Google Chromecast 发件人错误

android - 尝试从 Android 应用程序 Chromecast URL 时如何检测 URL 错误?

ios - 如何为 iOS 构建 ohNet?

ios - Mixpanel 默认存储应用版本

c++ - 在 C++ 中线程化 for 循环

ios - 无法在 iOS 应用程序中通过谷歌正确转换视频

ios - 刷卡不起作用。如何解决这个问题?

ios - 对可选属性感到困惑——如何更好地编写这段代码?