NativeScript ランタイムを介して JavaScript を実行しようとしています。NativeScript の例のように C API を使用するとうまくいきますが、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;"];
今回は 2 行目で失敗しますEXC_BAD_ACCESS。JSContext*からを取得する正しい方法は何JSGlobalContextRefですか?