この情報は、米国アドビシステムズ社が提供している情報をもとにローカライズし、作成したものです。日本語環境での動作保証はしておりませんのでご了承ください。  

内容 (What's Covered)

Apple 社は、Mac App Store の利用条件と手続きを変更しました。それに伴い、Adobe AIR ランタイムも変更されます。この文書では、アップデートした AIR アプリケーションを Mac App Store に提出する方法について説明しています。

AIR アプリケーションを Mac App Store に提出する

アプリケーションのパッケージ化

注意:

注意 : Mac App Store にアプリを提出する際、手続きは手動で行います。Mac Developer アカウントの登録が必要です。

  • Captive Runtime を使用してアプリケーションをパッケージ化します。Mac App Store では、共有の AIR ランタイムの使用は認められておらず、内蔵型のアプリケーションのみ承認されます。.app バンドルをパッケージ化したら、Info.plist ファイルを任意の XML エディターで開きます。LSApplicationCategoryType エントリを追加してください。利用可能な値の一覧については、以下の Apple 社 Web サイトを参照してください。
    https://developer.apple.com/library/mac/releasenotes/General/SubmittingToMacAppStore
  • Icon.icns ファイルに 512x512 のアイコンを追加します。(現時点では、Mac OS の ADT ツールはこのサイズのアイコンをサポートしていません。)Icon Composer(Xcode ツールに含まれています)を使用してリサイズ可能です。
  • Apple 社は、以下のような制限事項を追加しました。
    • アプリケーションが書き込み可能な場所
    • アプリケーションが使用する API (非公開の API は許可されません。)
    • アプリケーションに使用が許可されるリソース
  • WebKit にはいくつかの非公開 API を使用するため、Mac App Store に提出するアプリに使用できません。アプリケーション内の flash.html パッケージには、HTMLLoader およびいかなるクラスも使用できません。アプリケーションバンドルの Adobe AIR.framework/Resources サブツリーから、手動で WebKit.dylib および Flash Player.plugin を削除してください。useNative=true の場合のみ、StageWebView クラスは使用できます。
  • アプリケーションのサイズを軽減するには、DRM 機能を使用していない場合、アプリケーションバンドルの Adobe AIR.framework/Resources サブツリーから、Adobe AIR.vch、adobecp.plugin、adobecp.vch、AdobeCP15.plugin を手動で削除します。
  • アプリケーションは Mac OS X 10.7 以降からアップロードすることを推奨します。Mac OS X 10.6 では、AIR ランタイムを含むアプリケーションを Apple Application Loader からアップロードできない不具合があります。10.6 の場合は、
    • AIR framework フォルダーから Resources シンボリックリンクを削除し、Resources フォルダーを作成します。
    • Versions/1.0/Resources から AIR Info.plist ファイルを新しいフォルダーにコピーします。オリジナルの Info.plist ファイルを編集し、バンドル ID を com.adobe.AIR1 にリネームします。

アプリケーションのインストール

パッケージの準備が完了したら、ターミナルを起動して以下の操作を行います。

  1. Developer アプリケーションと Developer インストーラーの証明書をキーチェーンにインストールします。Developer Certificate Utility を使用して、証明書の作成とインストールを行います。Developer 証明書は WWDR Intermediate Certificate および Apple Inc. Root Certificate を参照します。これらの証明書は、アプリに署名する際にキーチェーン上に存在しなければならないものではありません。必要に応じて Apple Root Certification Authority から入手可能です。

  2. Mac Application アカウント証明書でアプリに署名します。

    textcodesign -f -s "3rd Party Mac Developer Application: XXX" --entitlements ZZZ.entitlements YYY.app

    XXX は証明書の名前です。YYY はアプリ名、ZZZ はエンタイトルメントファイルです。エンタイトルメントファイルによって、アプリのアクセスが許可されたリスト、またはリソースと機能が指定されます。

  3. Mac Installer アカウント証明書で署名されたアプリの .pkg インストーラーをビルドします。

    productbuild --component YYY.app /Applications --sign "3rd Party Mac Developer Installer: XXX" YYY.pkg

    productbuild ツールが利用できない場合、Xcode 3.2.6 以降がインストールされているか確認してください。

  4. productbuild から .pkg が生成されたら、zip または app ファイル削除します。(削除しない場合、インストーラーのテストが機能しません。)

  5. ストアから入手するように、アプリをインストールします。

    sudo installer -store -pkg YYY.pkg -target /

  6. Applications フォルダーにインストールされ、起動できることを確認します。

    これでアプリケーションをアップロードする準備は完了です。アップロード前に、iTunes Connect でメタデータを生成する必要があります。

    • Apple ID を使用してログインします。
    • Manage Your Applications リンクをクリックします。
    • Add New App ボタンをクリックし、メタデータを生成します。

    Application Loader を使用して、レビュー用にアプリケーションをアップロードします。(Application Loader は Xcode 3.2.6 移行に付属のツールです。スタンドアロンダウンロードも利用可能です。)アプリケーションバンドルに問題が無いかどうかはすぐに識別されますが、Apple 社による承認までには数日要する場合があります。

    自己署名型の証明書を使用している場合、iTunes Connect から以下のような警告が表示されることがあります。

    • 「"Adobe has discovered one or more issues with your recent binary submission for "YYY". Your app has proceeded to review, but the following issues should be corrected in your next submission:Invalid Signature - the nested app bundle (YYY.app/Contents/Frameworks/Adobe AIR.framework) is not signed, the signature is invalid, or it is not signed with an Apple submission certificate. Refer to the Code Signing and Application Sandboxing Guide for more information."(Adobe は提出された YYY の最新のバイナリにおいて、一つまたは複数の問題を確認しました。アプリケーションはレビューされましたが、以下の問題を修正する必要があります。不正な署名 - ネストされたアプリケーションバンドル(YYY.app/Contents/Frameworks/Adobe AIR.framework)が署名されていません。署名は有効でないか、または Apple 提出用証明書が使用されていません。詳細については、Code Signing および Application Sandboxing Guide を参照してください。 )」

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー