报告:YouTube iFrame播放器在iOS 9.0.x UIWebView中崩溃(2016-09-02)

报告:YouTube iFrame播放器在iOS 9.0.x UIWebView中崩溃(2016-09-02),ios,youtube,uiwebview,youtube-api,youtube-iframe-api,Ios,Youtube,Uiwebview,Youtube Api,Youtube Iframe Api,在iOS 9.0.x设备上,通过UIWebView(如Facebook Messenger)打开此应用程序,可以重现崩溃 我在iOS UIWebView中使用基于此的YouTube iFrame player,但是,从9/2开始,它开始使用如下堆栈崩溃应用程序(仅限iOS 9.0.x): 崩溃:JavaScriptCore::Marking 0 JavaScriptCore 0x1859f65b0 JSC::JSEnvironmentRecord::visitChildren(JSC::JSC

在iOS 9.0.x设备上,通过UIWebView(如Facebook Messenger)打开此应用程序,可以重现崩溃

我在iOS UIWebView中使用基于此的YouTube iFrame player,但是,从9/2开始,它开始使用如下堆栈崩溃应用程序(仅限iOS 9.0.x):

崩溃:JavaScriptCore::Marking 0 JavaScriptCore 0x1859f65b0 JSC::JSEnvironmentRecord::visitChildren(JSC::JSCell*,JSC::SlotVisitor&)+224 1 JavaScriptCore 0x1859f65ec JSC::JSEnvironmentRecord::visitChildren(JSC::JSCell*,JSC::SlotVisitor&)+284 2 JavaScriptCore 0x1855c34bc JSC::SlotVisitor::drain()+300 3 JavaScriptCore 0x1855c446c JSC::SlotVisitor::drainFromShared(JSC::SlotVisitor::SharedAddressMode)+288 4 JavaScriptCore 0x1858e4bd0 JSC::GCThread::gcThreadMain()+120 5 JavaScriptCore 0x1855bb4e4 WTF::threadEntryPoint(void*)+212 6 JavaScriptCore 0x1855bb3f4 WTF::wtfThreadEntryPoint(void*)+24 7 libsystem_pthread.dylib 0x199e87b3c_pthread_body+156 8 libsystem_pthread.dylib 0x199e87aa0_pthread_body+154 9 libsystem_pthread.dylib 0x199e85030 thread_start+4发现此错误,表明这些崩溃是由以下原因造成的

同样基于此,如果应用程序随机崩溃,则需要分析代码。您可以在XCode上执行此操作。尝试在XCode中打开您的项目。在产品菜单中,您将找到分析选项(cmd+shift+B)。在分析“iOS设备”之前,请确保已选择它

这可能也有帮助

本例中的问题似乎是由于从一段代码中释放了一个JSContext对象,而该代码不是设置为运行JavaScript的所有者。Xcode在静态分析器中标记了它,一旦释放调用被删除,一切都很好。我有点犹豫不决,不能肯定这是问题所在,因为崩溃并非100%都发生,但考虑到更改前后的测试,它似乎很有可能发生


感谢Abielita,看起来YouTube昨天解决了这个问题,崩溃到零=)