カスタム検索

2010年6月24日木曜日

iOS3のプロジェクトをiOS4に対応してみる

iOS4が正式に公開されたので、プロジェクトをアップデートしてみるテスト

iPhoneDevよりxcode 3.2.3 finalをインストール
古いxcodeやiPhone simulatorが立ち上がってたら落としておくこと。インストールに失敗する事があるので落としておく。
iTunesも途中で落とせと言われるので先に落としておくのが吉。

とりあえずそのまま以前のプロジェクトを実行してみる>エラー>あるある

UIView.h等で以下のようなエラーが多発
syntax error before '^' token

なぞい、コンパイラをGCC4.2からLLVM GCC4.2に変更すると回避出来るけど・・・
再度ビルド>エラー>ですよねー

今度はSBJSONでエラーが出てる
とりあえず最新版を落としてドキュメントを読んでみると、インストール方法が変わったらしい

追加SDKとリンカグラグをはずして、最新のオススメインストール方法(クラスコピーするだけ)に戻したらさっくり動いた
コンパイラの設定をGCC4.2に戻しても問題なし、と。なんだよ、ちょっと焦っちゃったヨ。

なんでJSON-Frameworkとか使ってないプロジェクトはそのままでいけると思う。
cocos2d(v0.99.3)に関しては今の所問題無し。

お次は実機に・・・と思ったらプロビジョニングされた実機がつながってないよ、と
どうやら実機をiOS4にアップデートしたら別物として認識されているっぽい
xcodeのオーガナイザからIdentifierをコピーして・・・と思ったら「デバイスを開発で使う」みたいなボタンが出ていたので押してみる。
iTunesConnectのIDをきかれ、xcodeからデバイスの登録が完了!
xcode上でiTunesConnectと連携出来るのね、これはイイ改良

HPから確認してみるとTeam Provisioning Profile: *というのが追加されていた
とりあえずこの状態で実機の動作確認もOK

シミュレータで注意しないといけないのが、HOMEボタンで終了ではなくなったので、HOMEおしてもタスクは実行中ということ(3G実機では終了されるけどね :p)
ここで新しいイベント(applicationDidEnterBackground)が飛ぶので、必要ならば処理を追加する。
コチラに日本語で詳しい内容がアップされています。
どうやらapplicationWillTerminateが呼ばれずに終わる事もあるそうで・・・?(本体ないし未確認)
終了処理はちょっと気を付けた方が良さそうです。

当面はiPhoneシミュレータを見ながらiPhone4が手元に届くのを待っています・・・