JavaScript嵌入iOS/Mac工程
程序员文章站
2022-07-05 23:15:43
工作中遇到需要在终端引用js引擎,并在此基础上运行js代码,并且做到与 终端代码进行交互。
现在市面上有很多JavaScript引擎库,比如webkit上的 JavaScript...
工作中遇到需要在终端引用js引擎,并在此基础上运行js代码,并且做到与 终端代码进行交互。
现在市面上有很多JavaScript引擎库,比如webkit上的 JavaScriptCore。google运用在chrome上的v8,firefox上的spidermonkey。
对于在iOS的程序而言,因iOS webview 上使用的便是JavascriptCore引擎,所以最方便的便是JavaScriptCore引擎,也不需要引入新的外部的静态库。
在iOS 工程中直接引用 JavaScriptCore.framework即可
执行代码也非常简单。
由于JavaScriptCore底层由C写成,例子中直接使用C层的API,所以只要其他的系统,只要引用成功JSC的头文件,都可以执行。
最简单的一个例子。
JSGlobalContextRef ctx = JSGlobalContextCreate(NULL); JSStringRef scirpt = JSStringCreateWithUTF8CString("var a = 1 + 1;"); JSEvaluateScript(ctx, scirpt, NULL, NULL, NULL, NULL); JSStringRelease(scirpt);//对象最后需要释放 JSGlobalContextRelease(ctx);//对象最后需要释放