我正在尝试通过 NativeScript 运行时运行 javascript。使用 C API,就像在NativeScript 示例中一样,效果很好,但我想使用 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*
从 a中获取 a 的正确方法是JSGlobalContextRef
什么?