&tag(iPhoneSDK/複数バージョンの共存);
*目次 [#s338e0f8]
#contents
*最新バージョンのXcode + iPhoneSDK 4 に iPhone SDK 3.1.3を追加する[#r2ba8e08]
**参考情報 [#o3eec356]
-[[0xced: Using SDK 3.1.3 with iPhone SDK 4:http://0xced.blogspot.com/2010/07/using-sdk-313-with-iphone-sdk-4.html]]
**概要 [#qd2ece73]
-最新バージョンのXcode + iPhone SDK 4では、iPhone SDK 3.1.3を使ってビルドできないので、新規に追加されたAPIをうっかりつかっていてもできない(コンパイルエラーにならない)。
-上記リンクで、最新バージョンのXcode + iPhone SDK 4にiPhone SDK 3.1.3を追加するハックが説明されている。
-iPhone SDK 3.1.3用の構成を使えば、コンパイルできるかどうかの確認ができる。
-ただしこの方法では、iPhone SDK 3.1.3でコンパイルすることはできるが、シミュレータで実行することはできない!
**手順 [#c286e168]
-[[iOS Dev Center:http://developer.apple.com/devcenter/ios/index.action]]にログインする。
-[[iPhone SDK 3.1.3:http://developer.apple.com/ios/download.action?path=/iphone/iphone_sdk_3.1.3__final/iphone_sdk_3.1.3_with_xcode_3.2.1__snow_leopard__10m2003a.dmg]]をダウンロードし、~/Downloadsに保存する。
-[[install-iphone-sdk-3.1.3.sh :https://gist.github.com/577788]]をダウンロードする。
--ダウンロードボタンを押してtar.gz形式で保存。
--展開してinstall-iphone-sdk-3.1.3.shを取り出し、~/Downloadsに置く。
--実行する
sudo ./install-iphone-sdk-3.1.3.sh
-Xcodeを起動する。
-「プロジェクト」→「プロジェクトの設定を編集」でダイアログを表示。
--「構成」タブを選択し、「Debug」を複製して「SDK 3.1.3 Check」という名前にする(名前は任意)。
-Xcodeの左上のリストで、Simulator / SDK 3.1.3 Checkを選択しておく。
-「プロジェクト」→「アクティブターゲット"XXX"を編集」でダイアログを表示。
--ベースSDKをiPhone Simulator 3.1.3にする。
--左下のギアのアイコンを押し、「ユーザー定義の設定を追加」を実行。GCC_OBJC_ABI_VERSIONを追加。値は1にする。
--GCC_OBJC_ABI_VERSIONを選択し、ギアアイコンを押し、「ビルド設定条件と追加」を実行。Any SDK、Any Architectureを選択して、値は1にする(?)。
#ref(project.jpg)
※この設定を行わないと「"_OBJC_CLASS_$_UITableViewController", referenced from:」のようなリンクエラーが発生する。
-コンパイルする。iPhoneSDK3.1.3でコンパイルできない場合はエラーになるので修正する。
**Xcodeをバージョンアップした場合 [#y832989d]
XcodeをバージョンアップするとベースSDKでiPhone Simulator 3.1.3を選択できなくなるのでもういちどインストールしなおす。
sudo ./install-iphone-sdk-3.1.3.sh
*Xcodeを完全に別々にインストールする。 [#w46b5008]
**参考情報 [#m78ea044]
-[[Download and Install Older Versions of Xcode (Xcode Previous Releases):http://iphonedevelopertips.com/xcode/download-and-install-older-versions-of-xcode-xcode-previous-releases.html]]
**概要 [#qdf20ee1]
-Xcodeのインストール時に/Developer以外の場所を指定すれば共存できる。
-Xcode + iPhone SDK 4 と Xcode + iPhone SDK 3.1.3が完全に別々にインストールされるので、プロジェクトをそれぞれコンパイルし、シミュレータで実行することができる。
-ただし、iPhone SDK4 でコンパイルしたものを、iPhone Simulator 3.1.3で実行したり、その逆もできない。
**手順 [#a93cf95d]
-iphone_sdk_3.1.3_with_xcode_3.2.1__snow_leopard__10m2003a.dmgをFinderでダブルクリックしてマウントする。
-インストーラを実行する。
-インストール先フォルダを作る
sudo mkdir /Developer-3.1
-インストールの種類で、Essentialsの横にあるDeveloperアイコンをクリックし、/Developer-3.1に変更する。
#ref(install.jpg)
-インストールを実行する。
-/Developer-3.1/Applications/Xcodeを使えば、3.1.3でプロジェクトをビルド、実行することができる。