-[GCKCastDeviceProvider stopDiscovery] 必须在主线程上调用
Posted
技术标签:
【中文标题】-[GCKCastDeviceProvider stopDiscovery] 必须在主线程上调用【英文标题】:-[GCKCastDeviceProvider stopDiscovery] must be called on main thread 【发布时间】:2017-11-30 19:16:47 【问题描述】:使用 google cast sdk 3 在 react native 中,我们重新加载应用程序的所有内容都会崩溃,错误是 - [GCKCastDeviceProvider stopDiscovery] 必须在主线程上调用
我们把所有的代码都放进去:
dispatch_async(dispatch_get_main_queue(), ^
// my code block
);
我们还检查是否真的在主线程上:
if ([NSThread isMainThread])
NSLog(@"on main thread");
【问题讨论】:
【参考方案1】:基于这个release note,你的app调用的CastContext
中的所有方法都必须从主线程中调用,否则会抛出一个Exception
。另外,documentation 声明所有 SDK 方法都必须从主线程调用。
【讨论】:
没错,问题是stopDiscovery是自己调用的,代码中的任何地方都没有调用...以上是关于-[GCKCastDeviceProvider stopDiscovery] 必须在主线程上调用的主要内容,如果未能解决你的问题,请参考以下文章
s-s-rS 报告 - 从没有 s-s-rS 服务器的 C# 导出
s-s-rS 报告需要在 s-s-rS 2008 (VS 2008) 中重用来自 s-s-rS 2005 (VS 2005) 的 rdl 文件