2

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_ACCESSJSContext*からを取得する正しい方法は何JSGlobalContextRefですか?

4

0 に答える 0