2

我正在尝试通过 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_ACCESSJSContext*从 a中获取 a 的正确方法是JSGlobalContextRef什么?

4

0 回答 0