欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

JavaScript嵌入iOS/Mac工程

程序员文章站 2022-03-19 11:28:19
工作中遇到需要在终端引用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);//对象最后需要释放