我需要使用JavaScriptCore从我的监视应用程序调用JS函数,但我无法正确使用该框架,因为我在尝试使用它时立即收到此错误:
架构i386的未定义符号: “_OBJC_CLASS _ $ _ JSContext”,引自: AppDelegate.o中的objc-class-ref
我尝试从Ejecta项目编译:
https://github.com/phoboslab/Ejecta/tree/master/Source/lib
没用。我无法从那些Ejecta的二进制文件中编译。我正在下载最新的Xcode 6.2 beta 5,以防万一我弄乱了Xcode。我将libicucore和libstdc ++库添加到我的项目以及JavaScriptCore编译框架中。另外,我将“No”设置为“仅构建活动架构”。
答案 0 :(得分:0)
Ejecta构建的JavaScriptCore并没有使用新的Objective-C API - 这就是链接器无法找到JSContext的原因。我担心,如果你不能使用iOS 7中引入的JavaScriptCore版本,那你就不走运了。您甚至无法使用JSContext API自行构建JavaScriptCore,因为它的实现依赖于访问libobjc中的几个私有函数,这可能会导致您的应用程序无法通过App Store批准过程。