为了生成程序,java中有“CodeModel API”,就像Objective-C有什么API一样?

时间:2013-05-18 10:20:01

标签: java objective-c sun-codemodel

我想生成一个简单的“Hello World”Objective-C程序,我必须使用哪种API?真的我不知道是否可能?,但在java中我知道有CodeModel API。

JCodeModel cm = new JCodeModel();
JDefinedClass class1 = cm._class("Main");
JMethod method = class1.method(JMod.PUBLIC, cm.VOID, "print");
JBlock block = method.body();
JVar a = block.decl(cm.INT, "a", JExpr.lit(10));
JVar b = block.decl(cm.INT, "b", JExpr.lit(20));

使用此代码我们创建一个类名为“main”的文件,方法名称为“print”,方法体中为“a& b两个int变量”,就像我想创建一个文件一样objective-C用于在视图中显示“Hello world”。它有可能吗?如果是的话,怎么样?

1 个答案:

答案 0 :(得分:1)

你要求做的事情在OS X中非常困难,而iOS几乎不可能。

与使用字节码存储程序的Java不同,Objective-C被编译为本机可执行文件。这意味着您需要在应用程序中内置完整的编译器和链接器。

无需自动生成OS X可执行文件非常困难。

编译并链接您创建的可执行文件后,您需要执行它。在OS X中,您可以直接执行binares,但iOS中的所有二进制文件必须由Apple进行数字签名。可执行文件需要打包为新的App并由您的分发配置文件签名。新的应用程序需要提交给Apple才能进行数字签名。然后需要从Apple下载并安装它。最后,它可以作为单独的App执行。

据我所知,Apple没有接收自动生成程序的程序。我不认为苹果公司对此作为商业模式有任何兴趣,与苹果公司合作将涉及许多我永远不会理解的律师和合同。

毋庸置疑,自动生成iOS可执行文件几乎是不可能的。

或许可以更容易地研究其他替代方案。

相关问题