カテゴリー別アーカイブ: Flash Builder

Flash Bulder 4.7 の AIR for iOS 書き出しでいろいろ躓いた

久しぶりにFlash Bulderを使うことになって、4.7でいろいろ環境準備。ひろゆきさんももクロちゃんのプロジェクトファイルを提供してくれたので、AIR for iOSで書き出しを試してみた。

で、前に使っていたのが4.6だったので、変更点があっていろいろ躓いたのでメモ。
1.appIDでハイフンが通らない。
実行構成ウィンドウのメインタブでターゲットプラットフォームにApple iOSを選択すると、4.6にはなかったAppId欄が(4.6以前はxml上でIDタグに指定するだけだった)。ここにxmlと同じIDを指定するんですが、「ID に使用できるのは英文字、数字および “.” だけです。」と表示されてハイフンがエラーにされてしまう(ボクのIDは、com.c-geru.*)。「えー、何で?」って感じですが、これはAppleのDeveloperサイトでハイフンなしのIDを作成することで回避。
でもXcodeはハイフンでも問題ないので、これはFlash Builder側の不備といっていいんじゃないですかね?ドメインにハイフンとかフツーにあるでしょ?最初は何が問題なのかわからなかったよ…。
2.iOS シミュレータが正しく動かない
IDは通ったので、iOSシミュレータで実行してみます。ビルドは順調、iOSシミュレータも起動してアプリのアイコンも見えます。…が、アプリ自体が起動せず。シミュレータ上のアイコンクリックでも無反応。
試しに実機(iPhone 5)に書き出してみると問題なく起動。回るよ、ももクロちゃん!
で、実行構成ウィンドウの「シミュレータ SDK の場所」を見てみると、古いXcodeのSDKを参照している模様(/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs)。検索しても新しいiOSシミュレータのSDKは見つからず。
とりあえず古いXcodeを全て削除することに。3.2.6とか4.3とか4.5とかいろいろ残ってました。ググったら、単にFimderからだとダメらしいので、下記リンクを参考に最新も含めて全部削除しました。
再び最新版のXcode 4.6.3 をインストール。しかし古いバージョンにあったDeveloperフォルダは作成されず。で、調べてみたらXcode4.3以降はDeveloper フォルダは、Xcode.appの中に作成されるとのこと。
 
で、実行構成ウィンドウの「シミュレータ SDK の場所」のパスを変更しようとしたのですが、参照ボタンで開くFinderからではパッケージ(Xcode.app)の中身を参照出来ず。仕方ないのでFinderでパスを確認しながら手打ちしました。参照先は以下です。
/Applications/Xcode.app/Contents/Developer/
Platforms/iPhoneSimulator.platform/Developer/SDKs/
 
※このブログだと見切れちゃうので改行しましたが、ひと続きです。
この参照もXcodeがきちんとインストール済だったら、Flash Builderをインストールする時にきちんと自動的に見つけてくれたのかしらん。うーん…。
各リンク先の皆さんに感謝。

AIR for iOSでCameraUIを使ったアプリが落ちる件について

Flash Bulider4.6でCameraUIクラスを使ったiOSアプリのテストをしていたんですが、何度かカメラを呼び出して(CameraUIはiOSのカメラを呼び出す仕様)いると、何度目かで必ずアプリが落ちる…という現象が発生しました。

ネットで探したサンプルコード(Adobe AIR for iOSによるiPhone/iPadアプリケーション開発第4回 カメラとカメラロール | クラスメソッド開発ブログ)に手を加えてテストしていたので、「どこか自分で書き足したところがおかしいんだろうな」と色々テストするも解決せず。元のサンプルコードに戻した状態でも状況は変わらず。
で、いろいろググってみたら、こんな記事を発見。
この記事によると「Flex SDK4.6に問題があって、iOS上ではカメラを使うアプリは使えない」とのこと。がーん…。
ちょうどFlash Builder4.7がリリースされたタイミングでもあるので、一縷の望みをかけて、Flash Builder4.7+Apache Flex4.8+AIR3.4の環境を構築してテストしてみました。
結果は問題なく動作しました。Flex 4.8ならOKなようです。しかしこの問題、いろいろググった割に関連記事が1つしかないとか…。AbodeのFAQとかに載っていてもよさそうですが。

Flash Builder4.7+Apache Flex4.8+AIR3.4のセットアップ

Flash Builder4.7を入れてみたんですが、これってFlex SDK 4.6でAIR SDK 3.1なんですね…。これだとあまり意味がないので、Flash Builder4.7+Apache Flex4.8+AIR3.4にしてみました。次回のセットアップ用にメモしておきます。

 
  1. Flash Builder4.7ベータ版をDLします。インストールします。Adobe IDでのサインインが必要です。DLページの一番下にシリアル番号が書いてあるのでメモを忘れずに。
  2. Flash Builder4.7ベータ版をインストールします。インストール時にAdobe IDが必要なんですが、これが既存のIDが使えず、新規に取得する必要があります。インストール画面から新規取得すればOK(私も場合は既存IDと同じにしましたが、問題なく通りました)。毎度おなじみ上条さんのブログに説明があります(Flash Builder 4.7 ベータ版の公 – akihiro kamijo)。
  3. 次にApache Flex 4.8ですが、手動でのインストールだと個別にDLするものなどがあったり、いろいろ面倒なのですが、諸々まとめてインストールしてくれるツールの紹介記事をみまして、これを使わせていただきました(Apache Flex 4.8 インストールAtomic Lab)。
  4. 最後にAIR SDK 3.4ですが、これまたありがたい記事がありまして、コレを参考にしました(Memo, Flex SDKのAIR SDKを3.2へアップデート ? イナヅマTVログ)。ブログではAIR3.2とFB4.5になっていますが、それぞれ3.4と4.7に置き換えて作業すればOKです。
これで完了です。無事セットアップしてAIR for iOSでの実機書き出しまでテストできました。わかっていれば簡単なことでも、いろいろ調べながらだと結構手間がかかるので、参考までに。
ぶつぶつつぶやきながら作業していたら、柊さんにアドバイスいただきました。柊さんと各ブログ主さんに感謝。
[追記1]環境を書いていませんでした。MacOSX10.6.8+MBP2011です。
[追記2]AIR SDK 3.4をDLする際に、何故かSafari(5.1.7)だとうまく行かず、ChromeでDLしました。