2013年12月03日

Xcode 5.0.2のMountain Lionへの共存インストール

去年の9月にiOS 7がリリースされ、同OSを搭載したiPhone 5sとiPhone 5cが発売された。翌月10月にはOS X 10.9 Mavericksがリリースされ、同OSを搭載した新型MacBook Proも発売されている。本ブログではこれらのイベントについて記事として取り上げなかったが、Apple製品を取り巻く一大ムーブメントなので私も注目はしていた。PCとモバイル製品の両方のOSがいずれもメジャーバージョンアップされたことでApple関連の開発環境は新時代を迎えたと言っても良いだろう。iOSとOS Xのバージョンアップに合わせて、Xcodeのメジャーバージョンアップも行われている。最新版はXcode 5.0.2になっており、これにはiOS 7.0とOS X 10.9用のSDKが含まれている。Xcode 5には新しい機能も搭載されて、大きく様変わりしているらしい。Xcode 3からXcode 4へのメジャーバージョンアップが行われたときもそうだったが、しばらくXcode 4とXcode 5を併用していくのが良さそうだ。

残念ながら、私はiOSアプリ開発に本格的に取り組んでいると自信を持って言える状況ではないので、しばらくはこれらの動きを静観しようと思っていた。しかし、モバイル分野はものすごい速さで進化しているので、そのメインストリームであるiOSの最新動向をまったくフォローしないとはさすがにマズイかなぁと、最近になってだんだん不安を感じるようになってきた。そこで、取りあえず、Xcode 5の導入だけでもやっておいて、少しずつ使っていく方が良いかもしれないと考えを変えた。Mac mini(OS X Mountain Lion搭載)へXcode 5.0.2をインストールしたので、以下に作業ログを備忘録として書いていく。

Xcode 5はOS X Mountain Lion以降にしか対応していない。Mac miniには以下の2つのバージョンのXcodeをインストール済みだった。
 Xcode 4.4.1 : 
  iOS SDK → 5.0*, 5,1, 6.0*
  Mac OS X SDK → 10.6*, 10.7, 10.8
 Xcode 4.6.3 : 
  iOS SDK → 5.0*, 5,1*, 6.0*, 6.1
  Mac OS X SDK → 10.6*, 10.7, 10.8

 ※ * 印のSDKは、他のバージョンのXcodeからファイルをコピーして追加したもの

上のとおり、2つのXcodeでiOS SDKとMac OS X SDKのバージョンが重複していたので、まずはXcode 4.4.1の方を削除した。その上で、Xcode 4.6.3を残した状態でXcode 5.0.2のインストール作業を始めた。

Xcode 5.0.2のインストール方法はXcode 4.3以降と変わっていない。DMGイメージファイルに格納されているXcode.appを「アプリケーション」フォルダへコピーすればインストールは完了する(Xcode 5.0.2のXcode.appをコピーする前に、Xcode 4.6.3のアプリファイルXcode.appはリネームしておいた)。
Xcode_5.0.2-Installing_MountainLion-SCShot13112813-611x388.png
Xcode.appのコピーが済んだ後Xcodeアプリを起動すると、最初にライセンスへの同意を求める画面が表示された。
Xcode_5.0.2-Installing_MountainLion-SCShot13112820-490x342.png
この画面の[Agree]ボタンを押すと、いきなり下のような画面に変わった。
Xcode_5.0.2-Installing_MountainLion-SCShot13112821-480x163.png
何かのコンポーネントをインストールしているものと思われるが、この画面には詳細情報が表示されていないので何をインストールしているのかは不明。Xcode 4.4.1やXcode 4.6.3では「Device Support」という名前の既存コンポーネントの更新処理が実行されていたので、多分同じ処理が行われているではないかと思われる。この処理が終了すると、XcodeのWelcomeウィンドウが表示された。
Xcode_5.0.2-Welcome_Window-SCShot13112823-802x471
WelcomeウィンドウのデザインはXcode 4とは変わっている。Xcodeが起動することを確認した後、すぐに[Preferences]メニューの[Downloads]ウィンドウを開いて、追加コンポーネントのインストールを行った。
Xcode_5.0.2-Preferences_Downloads-SCShot13112824-750x498
Xcode_5.0.2-Preferences_Downloads-SCShot13112827-750x498
こちらのウィンドウのデザインもXcode 4から変わっている。もしかしたらXcode 5ではすべてのウィンドウのデザインが一新されているのかもしれない。「Command Line Tools」をインストールしなかったのは、Xcode 4.6.3の同コンポーネントがすでにインストール済みだからだ。複数のバージョンの「Command Line Tools」を共存させることはできないので、どれか一つのバージョンだけをインストールしなければならない。

上の追加コンポーネント(「Command Line Tools」以外)をすべてインストールすると、Xcode 5.0.2に含まれるSDKは下のようになる。
System_Profiler-Developer_Xcode_5.0.2-SCShot13112907-751x540
これは、[ユーティリティ]>[システム情報]の「Developer」というカテゴリを選択すると表示される情報だ(なぜXcode 5.0.2のエントリが2つ存在するのかは不明。もしかすると削除したXcode 4.4.1が影響しているのか?)。

これでXcode 5.0.2のインストールは完了だが、Xcode 4.4.1やXcode 4.6.3をインストールしたときと同様に、同梱されていないバージョンのiOS SDKとMac OS X SDKを追加する作業を行った。
  1. 最初にターミナルを開き、次のコマンドを実行して、Xcode 5.0.2内にXcode 4.6.3側のiOS SDKが格納されているディレクトリのリンクを作成した。
    % cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs
    % ln -s /Applications/Xcode_463.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk ./
    % ln -s /Applications/Xcode_463.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk ./
    % ln -s /Applications/Xcode_463.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk ./
    % ln -s /Applications/Xcode_463.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk ./

    これによって、iOS 5.0, 5.1, 6.0, 6,1のSDK が追加される。

  2. 続いて、次のコマンドを実行して、Xcode 5.0.2内にXcode 4.6.3側のMac OS X SDKが格納されているディレクトリのリンクを作成した。
    % cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs
    % ln -s /Applications/Xcode_463.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk ./
    % ln -s /Applications/Xcode_463.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk ./

    これによって、Mac OS X 10.6, 10.7のSDKが追加される。

Xcode 4.6.3には以下のSDKしか含まれていないが、これらのバージョン以外のSDKは他のXcodeからファイルをコピーすることで追加しておいたものだ(07/08の記事を参照)。
 iOS SDK      → 6.1
 Mac OS X SDK → 10.7, 10.8

上の操作を行った後、Xcode 5.0.2のDeveloper Information([ユーティリティ]>[システム情報]>[Developer]の表示情報)を確認すると、下のようになっていた。
System_Profiler-Developer_Xcode_5.0.2-SCShot13112924-751x611
これでiOS 7用の最低限の開発環境が整った。サードバーティー製の開発ツールもiOS 7への対応が進んでいるが、ほとんどのツールはXcodeに含まれるiOS SDKに依存しているので、Xcodeがインストール済みであることは必須条件となる。私が本格的にiOS 7用アプリの開発に取り組むのはしばらく先になると思うが、取りあえず、Xcode 5の環境は構築はできたので、今回はここまでで良しとしよう。

Appleの製品開発サイクルはすごく速くて、一年経つと製品もOSも完全に一世代前のものになってしまう。この日進月歩の動きを追いかけていくのはかなり大変だ。モバイル開発のメインストリームはiOSなので、それでも覚悟を決めて追いかけていくしかないんだが・・・。

【2014/01/15 追記】

追加したSDKがXcode側で認識されているか確認するのを忘れていた。上記の操作を行った後、Xcode 5.0.2を起動して既存のプロジェクトを開くと、[Build Settings]ページの[Architectures]−[Base SDK]設定項目のメニューに新しいSDKが追加されていた。
SCShot140115_0004-Xcode_5.0.2-Adding_MacOSX_iOS_SDKs-881x542.png

【参考ページ】

 ios6 - Is it possible to install iOS 6 SDK on Xcode 5? - Stack Overflow

タグ:Xcode
posted by とみやん at 10:54| Comment(0) | TrackBack(0) | 開発・プログラミング > Mac
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/81864329

この記事へのトラックバック