超重要!FlashBuilder4.5.1でiOSアプリを出力する方法いか

2011/06/27 追記
http://codezine.jp/article/detail/6008
の記事を読むと、下記の問題は生じていないようです。
ですので、もしかするとFB4.5の体験版のインストールがいつのまにか差し替えられていて、4.5.1相当になっているのかもしれません。
私の使ったインストーラは4.5.1リリース前のものだったので。
また、下記の現象が起きたPCはMacなので、Windows版で同じ問題が生じるかは未確認です。


FlashBuilder4.5を4.5.1にアップデートすると、iOS向けパッケージ(ipaファイル)が簡単に作成できます。
昨日そのための開発環境を作ろうとして半日以上失敗を繰り返しました。
ここで、成功した方法を説明します。
下手すると僕のように失敗して時間を取ります。そして、現在、ネット上に解説記事はほとんどありません。
ですので、自画自賛になりますが、この記事は重要と思われます。

結論から言いますと、重要なのは
・FlashBuilderの[ヘルプ]→[FlashBuilderの更新を検索]によってアップデートする
ということです。
これによって、AIR iOS サポートパッケージがアップデートされます。

結論だけ知りたかった方は以降は読んでくださらなくて結構です。


以下のURL先にFB4.5のアップデータがあります。
http://www.adobe.com/jp/support/flex/downloads_updaters.html
Adobeのオンラインマニュアルを見るとここにリンクが貼ってあり、これさえインストールすればipaファイルが作成できるように思えます。

しかし、上記のアップデータでアップデートしても、FlashBuilder4.5のアップデートはされますが、AIR iOSサポートパッケージはアップデートされません。
ipaファイルを作ろうとすると、「必要なiOS向けのAIRパッケージが足りません」みたいなエラーメッセージが出ます。
そこからリンクされているオンラインマニュアルにしたがって、FBを再インストールしようと、AdobeSDKをダウンロードして手動でlib/aot以下に必要なファイルを足そうと、必要なパッケージはインストールされません。


AIR iOSサポートパッケージ向けのアップデートは、
・FlashBuilderの[ヘルプ]→[FlashBuilderの更新を検索]によってアップデートする
をする以外方法はないようなのです。
(もちろん、FBを最初にインストールするときに、AIR iOSサポートパッケージのインストールのチェックボックスをチェックにしておかないと駄目ですよ。デフォルトでチェックされてるのでそのままで問題ないです)


やっぱり、素直にGUIを使った王道に従っとけ、ということですね。
アップデータをインストールしてマニュアル読み込んで使うなんて、先行開発者だけがやる方法をとると、難しいということです。


4.5から4.5.1に向けての変更点や、基礎知識については以下のサイト様にわかりやすく書いてあります。
http://kskstudio.wordpress.com/2011/06/20/flash-builder-4-5-1-updater/
一応簡単にまとめておくと、iOS向けに関しては以下の2点の機能追加となっております。

1、これまではipaファイルを作るのにadtというコマンドラインツールを使っていたが、FBのGUI上で作成できるようになった
2、これまではiOS向けプロジェクトが作れるのは「モバイルASプロジェクト」だけだったが、「モバイルFlexプロジェクト」もiOSに対応した。

1により楽にはなりましたが、ipaファイルを作ってからそれを実機にインストールするにはiTunesを使わねばなりません。
AndroidについてはFBだけで実機に書き出しできるようなので、iOSについても更なるアップデートにより同じ機能を追加することを望みます。

2によって、MXMLが使えるようになり、UIを作るのが楽になります。XCodeに例えていうと、InterfaceBuilderが使えるようになった、ということです。


iOS書き出しのGUI操作については、以下のビデオがわかりやすいです。
http://www.adobe.com/devnet/air/articles/packaging-air-apps-ios.html
オンラインには、現時点ではテキストによる説明しかなく、非常にわかりずらいです。(この記事もそうですが。すみません。)


は〜。これでやっとアプリの作成に集中できる。
開発環境作成に僕はいつも時間とられますけど、本当にばかばかしいと思います。