久しぶりにXcodeをいじったら、iOS3.1.3用につくったプロジェクトが軒並みエラーで書き出せず。ベースSDKとか4.2かLatest iOSしかないし…(T_T)。Xcodeを3.2.5に上げたのが原因か?
いろいろ調べて対処法を発見。
- プロジェクト>プロジェクト設定を編集を選択。
- ビルドを選択して、アーキテクチャ>ベースSDKをLatest iOSに変更。
- 同じくビルドで、Deployment>iOS Deployment TargetをiOS3.1.3に変更。
- 同じくビルドで、Code Singning>コード署名ID>Any iOSを現在有効なIDに変更。
- プロジェクト設定を閉じる。
- これでもまだ「Base SDK Missing」と出ているので、プロジェクトファイルを閉じて、再び開く。
これで右上に「4.2 | Dbug | XXX | XXX | armv6」などと表示され、「Base SDK Missing」
は消えているので、これでビルドして実機(iPhone3G)に書きだしできました。ふう。
この辺はなんかうまいこと自動で変換する仕組みとかないのかな〜。ちゃんと下位互換を作って欲しいよ、まったく…。
ちなみにiPhoneの勉強始めに手に取った「iPhone SDKの教科書」のサイト見たら、iOSのバージョンに合わせてサンプルファイルが更新されていました。細かいサポートが素晴らしいです!今回の問題解決の糸口にもなりました。改めてオススメです。
[補足]
- 上記6.は実行しなくても、ビルドがうまくいく時もあるみたいです。違いはいまいちわからない…。
- Resource>xxx.plistにある「Bundle Identifier」も要チェック。私の場合は「com.yourcompany」になってしまってました。