iOS用にAirアプリを出すまでに必要な作業のまとめ

=前置き=

 Androidの時よりさらにiOS版のアプリを出すのは面倒だったので、そこらへんのまとめ。まだ申請までしかいってないし、Away3DとかHTMLのロードまわりで問題があるものの、普通のFlashをコンバートして上げるだけならこの対応(とリジェクト対応)だけでOKなはず。

=概要=

 必要な対応は概ね以下のとおり

  • 開発者登録
    • この登録作業だけで30分くらいかかる
    • さらに審査が通るのに1日くらいかかる
    • さらに1年毎に8400円かかる
  • 証明書の準備
    • 最終的に「〜.mobileprovision」と「〜.p12」というファイルを得るためにあれこれする必要がある
    • これらのファイルはさらに「開発用」と「リリース用」で2つずつ用意する必要がある
    • この作業で2時間くらいかかる
  • 環境設定
    • AIR用の環境設定はもちろん必要
    • swfからipaに変換するための設定ファイルの作成が必要
    • 実機での検証用に「iPhone構成ユーティリティ」を入れておいた方が良い
    • UPのためにiTunes Coonnectの登録と「Application Loader」のインストールが必要
  • アイコンやスクリーンショットの準備
    • アイコンはストア用に1024x1024が必要で、アプリ用に57x57と72x72も必要
    • iPadスクリーンショットだけだとスクショが足りないと怒られたので、一通り必要っぽい


 以下、それぞれの詳細。

=開発者登録=


 開発の環境を設定するためには、まず開発者登録を行なって承認を得ねばならない。


 ということで以下のサイトを参考に、iOSでの開発用の登録を行う。
Flash BuilderでiOSアプリを作る【第1回】『Apple iOS Developer Programへの登録(前編)』 | DevelopersIO
Flash BuilderでiOSアプリを作る【第2回】『Apple iOS Developer Programへの登録(後編)』 | DevelopersIO


 この段階で8400円が必要で、登録承認までに1日半程度の待ち時間がかかった。なので、以下の作業は翌日以降になってから行った。

=署名書の準備=


 iOSのアプリは原則として「AppStoreからしかインストールは行えない(AppStore以外からのインストールを認めない)」となっているものの、それだと開発中のアプリをiPadなどの実機で実行確認することができない。そこで、「この端末は開発用の端末にするのでAppStore以外からもインストールして良い」とか「このアプリは開発用なのでAppStore以外からインストールして良い」とかの設定が必要になる。


 こちらも以下のサイトを参考に一通りの対応を行う。
Flash BuilderでiOSアプリを作る【第3回】『証明書ファイルの作成(Mac編)』 | DevelopersIO
Flash BuilderでiOSアプリを作る【第5回】『プロビジョニングプロファイルの作成』 | DevelopersIO


 〜.p12の書き出しができなかったものの、iOS Provisioning Portalの下に表示されるWWDRとか書いてあるやつをダウンロードしてダブルクリックしてインストールすれば書き出せるようになった。

=swfからipaへの変換=


 swfまでの作成は普通に行い、それをipa(実際のAppの形式)に変換する。


 設定はblog.ton-up.netを参考。
 自分の場合はすでにAndroid用の設定がされているので、以下の変更で対応した。

  • adtでのコンパイル時にp12ファイルをiOS用のものに変更
  • mobileprovisionの設定を追加
  • xmlのidのところをProvisioningProfileのフォーマットに従ったものに変更
    • 今回はind.showohealer.* => ind.showohealer.munen
  • iPadのResolutionの対応
    • swf側でstageWidthなどの代わりにCapabilities.screenResolutionXなどを使用
    • xmlに以下を追加
<iPhone>
	<InfoAdditions>
		<![CDATA[<key>UIDeviceFamily</key><array><string>1</string><string>2</string></array>]]>
	</InfoAdditions>
	<requestedDisplayResolution>high</requestedDisplayResolution>
</iPhone>


 この段階で57x57と72x72のアイコンに対応していないと、後の申請時に弾かれるので注意。


 Windows上でのコンパイルはかなり時間がかかる(数十分くらい)のと、容量がかなり大きい(swfの時点でのサイズが200KBでも、ipaのサイズは5500KB程度になる)ので、Windows上でコンパイルして転送するよりMac内で完結する形でコンパイルした方が良さそう。


 あと、Macでバッチファイル相当の動作をさせるため、そろそろ始めてみる macでバッチファイル実行を参考にcommandファイルを作成した。

=実機への転送=


 iPhoneなどへの転送はiTunesでの同期でも行えるものの、今回は「iPhone構成ユーティリティ」を使った。


 基本的な使い方はhttp://blog.appforandroid.info/?p=878を参考だが、iPhone構成ユーティリティのバージョンが古い(というか新しくなるたびにリンク先が変わってしまう)ので、の「iPhone構成ユーティリティ - Mac OS X」を選んでそこからダウンロード〜インストールした方が良さそう。


 AppだけでなくProvisioningProfileも転送して「このAppを実行して良いよ」という設定にしないといけないので注意。(ProvisioningProfileの転送は最初の一回だけでよい)


=申請=

 ミソログ: iphone アプリ申請手順 Xcode4.3を参考に、iTunes Connectへの登録からApplication Loaderによるアップロードまで行う。

 Application Loaderは単独アプリではなくXCodeの中にインストールされるので、起動するにはXCode => Open Developer Toolsなどから行う必要がある。

=参考リンク=

全体の流れはこちらでも説明されている
http://ameblo.jp/f21emon/entry-11228162310.html

=予定=

 https://play.google.com/store/apps/details?id=air.showohealer.game.muneniOS版を対応しているけど、Away3Dの表示がうまくいかないのと、HTMLのロードがうまくいかず対応に時間がかかっているため、他の作業と並行してゆっくり進めることにした。

 というわけで、しばらくは無念番付のアップデート対応をメインに進めていく予定。