先日、Xcode 3.2.5をインストールしたところ、iOS 4.0のSDKが使用できなくなりました。いろいろ試したところ、古いXcodeのdmgからiOS 4.0のSDKを取ってきて利用することができましたので、その手順を紹介します。
Xcode 3.2.5のインストール
まず、以前のバージョンのXcodeを導入しているならアンインストールします。dmg内にインストールパッケージとともに存在しているドキュメント「About Xcode and iPhone SDK」にも書かれていますが、ターミナルから次のようなコマンドを入力します。
sudo /Developer/Library/uninstall-devtools --mode=all
そして、Xcode 3.2.5をインストールします。
古いiOS SDKのインストール
まず、「iPhone Software Development: Old versions of iPhone SDK」を参照して、Xcode 3.2.3のdmgを取得します。
次に、ダウンロードしたdmgをマウントします。Finderが起動するかもしれませんが、パッケージを直接参照できないので閉じてください。そして、dmgをマウントしたままでターミナルを起動して次のように入力します。なお、シングルクォート内の内容はお使いの環境やマウントするdmgによって異なる可能性があります。
open -a Finder '/Volumes/Xcode and iPhone SDK/Packages'
すると、次のように沢山のパッケージがファインダーで表示されます。この中からiPhoneSDK4_0.pkgをダブルクリックしてインストールします。
ただし、そのままだとインストール先が正しくないため次のようにしてインストール先を/Developerにします。まず、インストールウィザード中の[Installation Type]で[Change Install Location...]をクリック。
[Developer]を指定して[Choose]してください。
インストール先が"Developer"になっていることを確認して、[Continue]をクリック。
以上で、/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdkにiOS 4.0のSDKがインストールされます。なお、Xcode 3.2.5にもiPhoneSDK4_0.pkgが存在していますが、Xcode 3.2.3に付属のものとは内容が異なるらしく、上記の手順では使用することはできませんでした。
MD5 (/Volumes/Xcode and iOS SDK/Packages/iPhoneSDK4_0.pkg) = a09986714b357dede884362997f76edf # 3.2.5 MD5 (/Volumes/Xcode and iPhone SDK/Packages/iPhoneSDK4_0.pkg) = 1d4dd7957d932038e2f2b0b3e2a7f2f9 # 3.2.3
おまけ: iPhoneSDK4_0.pkgの中身
pkgファイルの中身は次のようになっています。
> xar -tvf /Volumes/Xcode\ and\ iOS\ SDK/Packages/iPhoneSDK4_0.pkg -rw-r--r-- root/wheel 393048 2010-10-27 08:54:28 Bom -rw-r--r-- root/wheel 536 2010-10-27 08:59:09 PackageInfo -rw-r--r-- root/wheel 350292508 2010-10-27 08:54:14 Payload
これらのファイルは次のような形式のファイルです。
> file * Bom: Mac OS X bill of materials (BOM) file PackageInfo: XML document text Payload: gzip compressed data, from Unix
ファイルPackageInfoは次のようなXMLファイルで、内容はよくわかりません。
> lv PackageInfo # 3.2.5のiPhoneSDK4_0.pkg <?xml version="1.0"?> <pkg-info format-version="2" relocatable="true" deleteObsoleteLanguages="true" identifier="com.apple .pkg.iPhoneSDK4_0" overwrite-permissions="yes" auth="root" postinstall-action="none" version="4.0.0. 9000000000.1.1206372128"> <payload installKBytes="847139" numberOfFiles="1249"/> <scripts/> <groups> <group>com.apple.FindSystemFiles.pkg-group</group> <group>com.apple.DevToolsRelocatable.pkg-group</group> <group>com.apple.iPhoneSDK.pkg-group</group> </groups> <bundle-version/> </pkg-info>
ファイルBomはファイル構成一覧を記述したファイルのようで、lsbomで内容を見ることができます。
> lsbom Bom # 3.2.5のiPhoneSDK4_0.pkg : ./Platforms/iPhoneOS.platform/DeviceSupport/4.0/Symbols/usr 40775 0/80 ./Platforms/iPhoneOS.platform/DeviceSupport/4.0/Symbols/usr/lib 40775 0/80 ./Platforms/iPhoneOS.platform/DeviceSupport/4.0/Symbols/usr/lib/dyld 100775 0/80 476320 2618116526 ./Platforms/iPhoneOS.platform/DeviceSupport/4.0/Symbols/usr/lib/gcc 40775 0/80 ./Platforms/iPhoneOS.platform/DeviceSupport/4.0/Symbols/usr/lib/gcc/arm-apple-darwin10 :
Xcode 3.2.3に付属のiPhoneSDK4_0.pkgは3.2.3のものとディレクトリ構成が異なっていたりplistがなかったりします。
> lsbom Bom-3.2.3 | grep plist ./Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk/Entitlements.plist 100644 0/0 423 4179759460 ./Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk/ResourceRules.plist 100644 0/0 485 3752781124 ./Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk/SDKSettings.plist 100644 0/0 1489 979933569 > lsbom Bom-3.2.5 | grep plist zsh: done lsbom Bom-3.2.5 | zsh: exit 1 grep plist
まとめ
Xcode 3.2.5にiOS 4.0 SDKを導入する方法を述べました。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。