iphone - 哪些脚本语言解释器可以在 iOS 上运行?

标签 iphone objective-c scripting

对于不会在 AppStore 上发布的应用程序,我希望嵌入解释器以满足简单的脚本需求。由于我不太喜欢使用纯 C,解释器应该是一个 Objective C 库。

在网上搜索时,我遇到了几个针对 Objective C 的脚本解释器,但这些人是否在 iPhone 上工作还不是很清楚。我发现显然在 iPhone 上运行良好的是 LuaCore它将 Lua 脚本引入 iOS 应用程序。

您在 iOS 应用程序中成功嵌入了哪些 Objective C 脚本解释器?

最佳答案

一些 Javascript 选项:

  1. 使用 headless WebKit实例
  2. 实例化一个custom build of JavaScriptCore
  3. CouchBase 试图获得 SpiderMonkey运行(比 V8 更现代的 Javascript)

请注意,JS 选项将提供一个非常原始的运行时环境,您可能需要至少自己编写其中的一部分才能成为一个方便的开发环境。

其他语言:

  1. 尝试使用 Python .
  2. Clojure通过 JavaScriptCore 的静态构建(参见上面的 2 点)。
  3. Nu语言也应该很好地集成,并有一个很好的 Objective-C 桥梁。

我只尝试过 Javascript 的第一个 headless WebKit 变体,但计划在接下来的几个月里为一个项目尝试尽可能多的变体。

更新: 我使用 Javascript 方法 1( headless WebKit)的时间更长一些。我毫不费力地让它运行起来,并且会坚持一段时间。但它有一个巨大的缺点:您不能轻松地回调到 native 。我通过写 PhoneGap 解决了这个问题受启发的桥在脚本运行后清空命令队列。

我还使用我提供的链接尝试了 Python。我让它编译并执行了一些示例代码,但它遇到了与通过 headless WebKit 使用 Js 相同的问题,并且由于它消耗了相当多的内存,所以我暂时跳过了它。不过,与我用 Js 创建的回调命令队列具有相同精神的回调命令队列是可能的。另一种 Python 方法是尝试使用 ctypes 调用 Objective C 运行时。 . this 中描述了该方法回答。

更新 2: Here有几个用于运行 Scheme 的新(大概)链接,具有解释器和编译选项。

关于iphone - 哪些脚本语言解释器可以在 iOS 上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3326417/

相关文章:

linux - 如何使用sed提取分隔符之间的字符?

python - 使用 python 注释文本文件中的某些行

iphone - 使用 NSURLConnection 发送 POST 请求

iphone - 如何下载没有文件扩展名的url源代码?

ios - UIButton 标签在选择时不尊重先前动画的完成处理程序设置的文本

ios - 其他链接器标志 -ObjC 导致 "Symbol not found"错误

ios - 获取 UIBezierPath 的所有顶点

iphone - UIScrollView 中的事件跟踪会阻塞主线程。有修复吗?

iphone - 如何生成兼容 Objective-C 语法的 JSON 字符串

linux - awk从列中找到最大值和最小值并存储在其他列中