【问题标题】:Why mono touch can write iOS apps in C# and can submit to AppStore?为什么mono touch可以用C#编写iOS应用并可以提交到AppStore?
【发布时间】:2012-06-01 17:48:32
【问题描述】:

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

【问题讨论】:

  • 嗯,这根本不是这个问题的重复。
  • 抱歉,更像是“查看关于该问题的第一条评论”,这表明 Apple 取消了对开发平台的限制。

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


【解决方案1】:

来自Introduction to MonoTouch 文档:

MonoTouch 允许您使用 C# 和 .NET 基类库 (BCL) 编写本机 iOS 应用程序。通过 Mono 编译器的魔力,在 MonoTouch 平台上构建的应用程序可以直接编译为原生 ARM 汇编代码。

由于它正在编译为 ARM 代码,因此在您的应用运行时设备上不会发生任何解释,这就是应用符合 AppStore 要求的原因。

【讨论】:

    【解决方案2】:

    在文档中,Introduction to MonoTouch(添加了重点):

    MonoTouch 允许您使用 C# 和 .NET 基类库 (BCL) 编写本机 iOS 应用程序。通过 Mono 编译器的魔力,在 MonoTouch 平台上构建的应用程序直接编译为本机 ARM 汇编代码。这与传统 .NET 应用程序的编译器形成对比,后者创建在运行时编译的中间语言 (IL) 代码时间。甚至像过去依赖即时 (JIT) 编译的泛型这样的东西也可以通过 Mono 的 Ahead Of Time (AOT) 编译器获得。

    所以没有翻译。它编译为原生 ARM 程序集。

    【讨论】:

      【解决方案3】:

      请参阅 Apple 在 2010 年发布的 this press release,其中声明他们已取消对用于创建 iOS 应用程序的工具的限制。 (对@ShaChris23 对this question 的评论的提示。)

      这解释了为什么允许使用常规编译器 - 正如其他答案所解释的那样,MonoTouch 是一种编译器,而不是其他平台上的 Mono/.NET 之类的 JIT 解释/编译语言。

      【讨论】:

        猜你喜欢
        • 2014-07-23
        • 1970-01-01
        • 2020-12-14
        • 2011-10-11
        • 1970-01-01
        • 2014-03-29
        • 2011-03-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多