JavaScriptCore Mach-O 链接器错误,Xcode 6.2

JavaScriptCore Mach-O Linker error, Xcode 6.2

我需要使用 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" "Build Active Architectures only".

Ejecta 的 JavaScriptCore 构建不包含新的 Objective-C API - 这就是链接器无法找到 JSContext 的原因。恐怕如果你不能使用 iOS 7 中引入的 JavaScriptCore 版本,那你就不走运了。您甚至不能使用 JSContext API 自己构建 JavaScriptCore,因为它的实现依赖于访问 libobjc 中的几个私有函数,这可能会导致您的应用无法通过 App Store 批准流程。