将JSGlobalContextRef转换为JSContext

时间:2015-05-07 12:40:58

标签: objective-c javascriptcore nativescript

我正在尝试通过NativeScript运行时运行javascript。使用C API,就像在NativeScript example中一样,但是我想使用Objective-C API。我无法将运行时的JSGlobalContextRef转换为JSContext*。我首先尝试过桥接。

JSGlobalContextRef ref = runtime.globalContext;
JSContext* context = (__bridge_transfer JSContext*)ref;
[context evaluateScript:@"var x = 1;"];

但似乎没有类型被桥接。它在最后一行失败并显示EXC_BAD_ACCESS。然后我找到contextWithJSGlobalContextRef:方法并尝试:

JSGlobalContextRef ref = runtime.globalContext;
JSContext* context = [JSContext contextWithJSGlobalContextRef:ref];
[context evaluateScript:@"var x = 1;"];

这次它在EXC_BAD_ACCESS的第二行失败了。从JSContext*获取JSGlobalContextRef的正确方法是什么?

0 个答案:

没有答案