关于iOS10 JavaScript和UIWebview界面

问题描述:

今天早上突然发现我们的用户说我们的断点后发现应用崩溃了,发现iOS 10的iphone,JavaScript & UIWebview接口问题发生在注入的JSContext对象中,代理方法不能执行,并直接崩溃到堆栈区域,因为我无法修改线路。关于iOS10 JavaScript和UIWebview界面

+0

任何人都遇到过这个问题?如果有人有解决方案,请回答我。 –

编辑:下面的原始评论是没有用的。我在UIWebView中使用window.webkit.messagehandlers是一种不受支持的黑客攻击(与WKWebView的API匹配),所以没有什么突然的事情发生,并且在附加Safari时发生溢出崩溃据说不会发生在Safari 10上的其他开发者身上(I还没有更新)

- 原文评论 -

看到iOS上10相同的错误,提交到苹果现在。问题1,向window.webkit.messagehandlers添加回调函数:此对象现在只允许添加一个回调函数,它允许多个消息处理程序,即messagehandlers.doOneThing,messagehandlers.doAnother。 问题2,看到崩溃:首先在WTF上的EXC_BREAKPOINT :: CrashOnOverflow :: overflowed()然后崩溃 * thread #10: tid = 0x81c29d, 0x0dfb3d1d JavaScriptCore`JSC::DFG::SpeculativeJIT::speculate(JSC::DFG::Node*, JSC::DFG::Edge) + 1197, name = 'WebThread', stop reason = EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0) * frame #0: 0x0dfb3d1d JavaScriptCore`JSC::DFG::SpeculativeJIT::speculate(JSC::DFG::Node*, JSC::DFG::Edge) + 1197

+1

我已经解决了这个问题。这是由redeclare函数名引起的。我定义了两个函数名称相同但参数个数不同,然后导致崩溃。 –