这是使用C#中断器或编译器将C#代码传输到Objective C的单声道触摸吗?但根据Apple指南,不允许在AppStore上提交中断器或编译器应用程序。这魔法怎么样?感谢。
答案 0 :(得分:11)
来自Introduction to MonoTouch文档:
MonoTouch允许您使用C#和.NET基类库(BCL)编写本机iOS应用程序。通过Mono编译器的神奇功能,在MonoTouch平台上构建的应用程序可直接编译为本机ARM汇编代码。
由于它正在编译为ARM代码,因此在您的应用程序运行时,设备上不会发生任何解释,这就是应用程序符合AppStore要求的原因。
答案 1 :(得分:8)
在文档中,Introduction to MonoTouch(强调添加):
MonoTouch允许您使用C#和.NET基类库(BCL)编写本机iOS应用程序。通过Mono编译器的神奇功能,在MonoTouch平台上构建的应用程序直接编译为本机ARM汇编代码。这与创建运行中编译的中间语言(IL)代码的传统.NET应用程序的编译器形成对比。时间。甚至像曾经依赖Just In Time(JIT)编译的泛型也可以通过Mono的Ahead Of Time(AOT)编译器获得。
所以没有翻译。它编译为本机ARM程序集。
答案 2 :(得分:5)
请参阅2010年Apple发布的this press release,其中说明他们已删除了用于创建iOS应用的工具限制。 (提示@ ShaChris23对this question的评论。)
这解释了为什么允许使用常规编译器 - 正如其他答案所解释的那样,MonoTouch是一个编译器,而不是像其他平台上的Mono / .NET那样的JIT解释/编译语言。