我在iOS 10上看到了JavaScriptCore的一些非常奇怪的行为。我用它来执行一些在我的应用程序中执行某些逻辑的JS脚本。在iOS 9上,一切正常。但是,在iOS 10上,脚本可能运行一次或两次,然后将停止执行
等消息编译内置错误:无效的私人名称' @ undefined'
我使用单个JSVirtualMachine来加载和编译JavaScript代码一次。然后,每次有一个组件要完成的计算时,我会创建一个新的JSContext来执行计算。经过几个小时的调试后,我注意到如果我不使用单个JSVirtualMachine,而是为每个需要执行JS脚本的组件创建一个新实例,它就可以工作。
这是非常令人惊讶的,我从未在iOS 8或9上说过。有人知道iOS 10在这方面的变化吗?
谢谢!