JavaScript嵌入iOS/Mac工程

来源:互联网 发布:徐老师杂货铺 淘宝 编辑:程序博客网 时间:2024/06/04 17:56

工作中遇到需要在终端引用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);//对象最后需要释放
0 0