2

これは、C# インタラプタまたはコンパイラを使用して C# コードを Objective C に転送するモノ タッチですか? ただし、Apple のガイドラインに基づいて、インタラプタまたはコンパイラ アプリケーションを AppStore に提出することは許可されていません。この魔法はどうなっていますか?ありがとう。

4

3 に答える 3

11

MonoTouchドキュメントの概要から:

MonoTouchを使用すると、C#および.NET基本クラスライブラリ(BCL)を使用してネイティブiOSアプリケーションを作成できます。Monoのコンパイラの魔法を介して、MonoTouchプラットフォーム上に構築されたアプリケーションは、ネイティブARMアセンブリコードに直接コンパイルされます。

ARMコードにコンパイルされているため、アプリの実行中にデバイスで解釈が行われることはありません。これが、アプリがAppStoreの要件に準拠している理由です。

于 2012-06-01T17:56:17.370 に答える
8

ドキュメントでは、MonoTouch の紹介(強調を追加):

MonoTouch を使用すると、C# と .NET Base Class Library (BCL) を使用してネイティブ iOS アプリケーションを作成できます。Mono のコンパイラの魔法により、MonoTouch プラットフォーム上に構築されたアプリケーションは、ネイティブ ARM アセンブリ コードに直接コンパイルされます。これは、実行時にコンパイルされる中間言語 (IL) コードを作成する従来の .NET アプリケーションのコンパイラとは対照的です。Just In Time (JIT) コンパイルに依存していたジェネリックのようなものでさえ、Mono の Ahead Of Time (AOT) コンパイラを介して利用できます。

そのため、通訳はありません。ネイティブ ARM アセンブリにコンパイルされます。

于 2012-06-01T17:57:41.190 に答える
5

2010 年の Apple からのこのプレス リリースを参照してください。このプレス リリースでは、iOS アプリの作成に使用されるツールに対する制限が撤廃されたと述べています。(この質問に関する@ShaChris23のコメントへのヒント。)

これが、通常のコンパイラが許可されている理由を説明しています。他の回答で説明されているように、MonoTouch はコンパイラであり、Mono/.NET が他のプラットフォームにあるような JIT 解釈/コンパイル言語ではありません。

于 2012-06-01T17:57:11.867 に答える