为什么mono touch可以用C#编写iOS应用程序并可以提交给AppStore?

时间:2012-06-01 17:48:33

标签: c# objective-c xamarin.ios app-store

这是使用C#中断器或编译器将C#代码传输到Objective C的单声道触摸吗?但根据Apple指南,不允许在AppStore上提交中断器或编译器应用程序。这魔法怎么样?感谢。

3 个答案:

答案 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解释/编译语言。

相关问题