2

是否可以从UITextField作为代码操作的输入?例如,我有一个文本字段和按钮。用户输入一些代码(例如NSLog(@"hello world"))然后按下按钮。用户输入的任何内容都被视为代码,并且如同通常的 .m 文件的一部分一样进行操作。

那么,这可能吗?

(编辑:有点像 Python 的输入命令,输入可以被视为代码

如果您需要更多信息,请询问,尽管我认为应该涵盖它。

4

2 回答 2

6

从技术上讲:是的,这是可能的。但这远非易事。

所以你想要的是:从应用程序中输入一些 Objective-C 代码并让它运行。为此需要的是:

  1. 嵌入在应用程序中的 Objective-C 编译器;
  2. 以及操作系统/内核运行生成代码的权限。

问题 #1 的解决方案可能是在您的应用程序中嵌入 Clang/LLVM 编译器套件(但它很大,有几十兆字节)。但是,1.做好不能移植到iOS的准备(很难移植一个功能性的跨工具链,尤其是LLVM和Clang的无脑构建系统),2.生成的代码不会被代码签名无论如何,它不会在官方环境中运行,它只会在越狱设备上运行。


如果您想为用户提供某种交互式编程功能,您最好尝试将Lua等小型脚本语言嵌入到您的应用程序中。

于 2013-04-29T18:42:36.307 回答
0

简短而实用的答案,不。

Python 是一种解释型语言,objective-c 需要首先编译才能运行,并且您在应用程序中没有可用的编译器。即使您有编译器,该代码也无法运行(未签名),您可能会违反许多应用商店规则。

于 2013-04-29T19:12:41.573 回答