目标是制作具有此功能的ios应用程序:
- 将源代码文件下载为文本,并在运行时编译或解释
- 此纯文本源代码需要能够进行UI操作,Os和硬件功能访问。 我在Android Using Beanshell中完成了同样的事情。
(抱歉英语不好)
我完成了我的研究并检查了很多像Clang和objc-eval这样的库 (参见Convert/compile a string into executable code in Objective-C)他们在我的场景中没用。
现在我尝试做一些可能不符合功能的东西,但它可能是一个很酷的项目的起点。
我想在使用j2objc googles java编译器的objective-c项目中使用beanshell。看到 https://github.com/google/j2objc
j2obj Hello world示例项目运行正常,但我需要将beanShell Jar文件包含到项目中。 j2obj是一个源代码编译器,无法编译二进制文件,所以我没有运气将beanshell源附加到java环境路径。
奇怪的是在Java environmet Path中,所有文件都是.h文件,不是.java文件,也不是.jar。
问题是:
- 如何将beanshell .jar文件包含到我的项目中,所以J2objc可以编译它,之后我在运行时使用beanShell?
- 对项目的任何意见或任何实际做这个项目的方式都将受到赞赏。
=====编辑1
我认为现在开始对我有意义了。我厌倦了运行这个终端命令:
/usr/local/j2objc-2.0.5/j2objc /usr/local/j2objc-2.0.5/frameworks/bsh.jar
结果充满了"找不到符号"错误。似乎j2obj根本无法编译beanshell库。
我不知道我是否正确的方向。只是尝试在这里分享进展
答案 0 :(得分:1)
我是j2objc的技术主管,并强烈建议您不要再浪费时间尝试将其用于您的项目 - 它不是为了支持您描述的功能而设计的。 Lua可能是一个选项:there are instructions for how it can be used on iOS,虽然我没有尝试过。