FlashDevelop4でAIR for iOSの実機確認ができるまで for Windows 
AIR for iOSをFlashDevelopで構築してみました。
実機確認までうまくいったけど、正直これで合ってるか自信ない。。
以下、自分メモ程度に書いておく。
環境は現在最新のFlashDevelop4.0.0 RC2。
FlashDevelopにバンドルされているAIR SDKは3.0、Flex SDKは4.5.1。
OSはWindowsXP。
最新のAIR SDK(3.1)、Flex SDK(4.5.1)にそれぞれバージョンをアップしたい場合は
FlashDevelopのインストール先にダウンロードしたSDKを上書きするか
SDKを別の場所に置いてFlashDevelopの参照先を変更するかでいけると思う。
あとFlashDevelopの環境設定の方もアップしたバージョンに変更する。
これらのバージョンアップは後ほど余裕のあるときにやってみる。
以下はiOS Developer Programのアクティベーションが完了してからの手順。
1.証明書署名要求ファイルを作成する。
ココを参考にしてWindowsにOpenSSLをインストールしてコマンドでCSRファイルを作ろうとすると
「WARNING: can’t open config file: /usr/local/ssl/openssl.cnf」とか
「Unable to load config info from /usr/local/ssl/openssl.cnf」とか怒られるので
「set OPENSSL_CONF=c:\[PATH TO YOUR OPENSSL DIRECTORY]\bin\openssl.cfg」
とコンフィグファイルのパスを設定してからやり直すとファイルが作れた。
2.先ほど作ったCSR(CertificateSigningRequest.certSigningRequest)ファイルを使用して、iPhone開発用証明書を取得する。
iOS Provisioning Portalにアクセス。
↓
左側のメニューの「Certificates」をクリックしてDevelopmentタブの「Request Certificate」ボタンを押す。
↓
Create iOS Development Certificate画面が開いたら下部の「ファイルを選択」からCertificateSigningRequest.certSigningRequestを選択。
↓
Submitボタンを押す。
↓
DevelopmentタブのページでStatusがIssuedになっていたら、少し時間をおいてページをリロードする。
↓
ActionにDownloadボタンが現れたら証明書(developer_identity.cer)をダウンロードする。
(すぐ下の「click here to download now.」リンクを押してAppleWWDRCA.cerもダウンロードしておく)
3.開発用証明書をP12ファイルへ変換。
ココを参考にして先ほどダウンロードした証明書をP12ファイルへ変換する。
↓
C:\OpenSSL\bin配下に証明書ファイル(developer_identity.cer)を置く。
↓
コマンドプロンプトで置いた場所まで移動して
「openssl x509 -in developer_identity.cer -inform DER -out developer_identity.pem -outform PEM」
よりdeveloper_identity.pemファイルを作成。
↓
「openssl pkcs12 -export -inkey mykey.key -in developer_identity.pem -out iphone_dev.p12」
よりP12ファイルを作成。
↓
「Enter Export Password:」←適当にパスワードを入力
「Verifying – Enter Export Password:」←同じパスワードを入力
これでiphone_dev.p12が作成される。
4.デバイスを登録する。
iOS Provisioning PortalのDevicesページを開く。
↓
「Add Devices」をクリックして、Device Name欄に適当な名前を入れる。
↓
iTunesを立ち上げて、手持ちのiPhoneをつなぐ。
↓
概要タブにシリアル番号が出ていると思うので、そこをクリックすると識別子(UDID)が表示される。
↓
Ctrl+Cキーでクリップボードにコピーし、Device ID欄に入力する。
↓
Submitボタンを押す。
5.アプリIDを登録する。
iOS Provisioning PortalのApp IDsページを開く。
↓
「New App ID」を押す。
↓
Description欄に識別できる名前か説明を適当に入力。
↓
Bundle Identifier欄には例にあるようにreverse-domain(com.domainname.appname)を入力するが、
決まってなければ*だけでもOK。
↓
Submitボタンを押す。
6.プロビジョニングプロファイルを取得する。
iOS Provisioning PortalのProvisioningページを開く。
↓
Profile Nameに適当な名前を入れる。
↓
Certificatesに名前が出ているのでチェック。
↓
App IDに先ほど登録したアプリIDを選択する。
↓
Devicesに先ほど登録したデバイス名が出ているのでチェック。
↓
Submitボタンを押す。
↓
StatusがPendingになっていたら少ししてからページをリロードする。
↓
ActionにDownloadボタンが現れたらプロビジョニングプロファイルをダウンロードする。
7.プロビジョニングプロファイルをiTunesに追加する。
プロビジョニングプロファイルをiTunesアイコンへドラッグ&ドロップする。
↓
ちゃんとインストールされたのか心配な場合は、もう一度ドラッグ&ドロップして置換ダイアログが出ればOK。
8.FlashDevelopで「AIR Mobile AS3 App」プロジェクトを新規作成。
プロジェクトのcertフォルダにP12ファイル(iphone_dev.p12)とプロビジョニングプロファイルを置く。
↓
batフォルダのSetupApplication.batを編集する。
set IOS_DEV_CERT_FILE=cert\P12ファイル名
set IOS_DEV_CERT_PASS=P12ファイルのパスワード
set IOS_PROVISION=cert\プロビジョニングプロファイル名
↓
Run.batの:targetを
goto ios-testに設定。
↓
set SCREEN_SIZE=NexusOneをコメントアウトして
set SCREEN_SIZE=iPhoneRetinaに設定。
9.AIRプロジェクトのapplication.xmlを設定する。
先ほど、iOS Provisioning PortalのApp IDsページのDescription内にある黒い太字(バンドルシードID.バンドル識別子)をコピる。
↓
application.xmlを開いて<id></id>内に設定する。
例)先ほど、iOS Provisioning PortalのApp IDsページで入力したBundle Identifier欄のreverse-domainがcom.domainname.appnameの場合は
<id>com.domainname.appname</id>
例)Bundle Identifier欄が「*」だけにしていた場合は
<id>任意の文字列</id>
↓
SetupApplication.batの「set APP_ID=」にも同じものを貼り付ける。
※ここを必ず同じにしておかないとエラーになる。
10.AIRをiOS用にパッケージ化する。
プロジェクトのPackageApp.batを実行する。[5]で試してみた。
↓
distフォルダにipaファイルが作成される。
↓
ipaファイルを実行するか、iTunesのデスクトップアイコンにドラッグ&ドロップしてiTunes内に送る。
↓
iPhoneと同期すればアプリが端末に転送される。
11.リモートデバッグしたい場合。
iPhoneを開発環境と同じLAN内にWifiモードでつないでおく。
↓
ipconfigで開発環境のPCのローカルIPアドレスをチェックしておく。
↓
Run.batを開いて、「goto ios-debug」以外をコメントアウトにする。
↓
さらに「set OPTIONS=-connect %DEBUG IP%」の%DEBUG IP%に先ほど調べたIPアドレスを入れる。
↓
PackageApp.batを開いて、同じように「if “%C%”==”5″ set OPTIONS=-connect %DEBUG IP%」にもIPアドレスを入れる。
↓
プロジェクト内のasファイルに適当なtrace文を入れた状態でPackageApp.batを実行し、[Choice]は5でipaファイルを作成する。
↓
iTunes同期からiPhoneにアプリをインストールする。
↓
FlashDevelopで「Control+Enter」からパブリッシュし、コマンドプロンプトが立ち上がった状態で待機。
「Now manually install and start application on device」がメッセージで出ているはず。
↓
iPhoneのアプリを起動すると、FlashDevelop上にtraceが出力される。
12.別のネットワーク環境のPCで並行開発する場合。
プロジェクトフォルダごと別の環境に移動。
↓
3で作成したiphone_dev.p12を別のPC環境にもっていき、ダブルクリックして秘密鍵の複製をする。
↓
iTunesを立ち上げて、10で作成したipaファイルをドラッグ&ドロップで取り込む。
↓
iPhoneとPCを接続して、「購入した項目を転送」してからアプリのみ同期を取ればiPhoneに転送される。
※ただし、ホーム画面上にフォルダとかでアプリを整理している場合はバラバラな配置になるので注意。自己責任でお願いします。
※必ず事前にバックアップをとっておく。
参考:
http://www.emanueleferonato.com/2011/09/22/creation-of-an-iphone-app-with-flash-and-without-a-mac-for-all-windows-lovers/
http://flash.polig.daa.jp/?month=201010
http://ton-up.net/blog/archives/767
alt