2012-03-28 18 views
10

誰かがAdobe AIRアプリケーションをiPhoneアプリに変換する方法を知っていますか? Adobe AIR仮想マシンをすべてのアプリケーションに組み込む方法と、ActionScriptコールをCocoa Touch呼び出しに変換する方法、またはActionScriptクラスごとにObjective-Cツインを作成してから、ARMアセンブラにコンパイルする方法があります。Adob​​e AIRとiPhone - どのように動作しますか?

私は、それが技術的にどのように行われるかだけ興味があります。

BR ステン

答えて

11

他のプラットフォームとは異なりますが、iOSアプリケーションをビルドするとき、Adobe AIRのは、ネイティブコードにコンパイルされます。ここで

は、Adobeからblog postの一部です:

私たちは、LLVMは、ActionScript 3を理解することが許可され、新しいコンパイラのフロントエンドを作成し、バック既存のARMを使用出力ネイティブARMアセンブリコードに終了します。 Just in Time(JIT)コンパイルを使用してAdobe Flash PlayerおよびAdobe AIRがデスクトップ上で機能するのとは対照的に、これをAhead of Time(AOT)コンパイルと呼びます。事前にActionScriptをARMにコンパイルすることができるため、アプリケーションはJITが提供するすべてのパフォーマンス上の利点と、最終アプリケーションでランタイムを必要としないのライセンス準拠を取得します。 AIRランタイムがアプリケーション内にパッケージ化されていない

  1. :ということ

  • AS3コードは、Objective-Cのコードに変換されず、ネイティブアセンブリコードに直接コンパイルされます。キャプティブランタイムはiOSのをターゲットにAIRを使用する場合に利用できる唯一のオプションであることをhttp://www.adobe.com/devnet/air/articles/air3-install-and-deployment-options.edu.html

    注意:Adobeのウェブサイトから取得した

  • +0

    投稿者:Adrian Pirvulescu投稿 - 私たちはアプリケーションのランタイム部分があることを示唆しました。まさに反対です。 " – STeN

    +0

    @STeN - 残念ながらAppleの制限のためにiOSではそれは当てはまりません。それはAdobeです:**「最終アプリケーションでランタイムを必要としない」** – sch

    +0

    これは、私がAdobe AIRで使用するUIコンポーネントが、Adobe Objective-Cライブラリに「ミラーリング」されていることを意味します。アプリケーションに追加する必要がありますか?Cocoa Touch iOS UIコンポーネントを使用できないと仮定します。 – STeN

    1

    。 iOSは共有ランタイムモデルをサポートしていないため、このプラットフォームではキャプティブモデルだけが選択肢として残っています。

    増加したアプリケーションのサイズ:キャプティブランタイムを使用して

    誰もが、それは2つの欠点を持っていることに注意する必要があります。ランタイムのコピー全体がアプリケーションに含まれているため、アプリケーションパッケージのサイズは必然的に増加します。

    は、セキュリティの負担を増加しました。

    関連する問題