SimpleBoxes

Xcode 4 の導入と Xcode 3 との併用

Xcode 4 がリリースされました。

ユーザーインタフェースが刷新され、iTunes に近いインタフェースになりました。

特にバージョン管理に対しては

  • svn だけでなく、git にも対応
  • バージョンエディタ (Version Editor) によるリアルタイム差分表示。差分表示中に編集可能
  • タイムマシン風 (?) の履歴表示

のような大幅な機能強化があります。

[写真] Xcode4 スクリーンショット

Xcode 4 のバージョンエディタモードは、File Merge に似たような差分表示ですが、File Merge とは異なり、最新ファイルは直接編集できます。画面下部の「時計」アイコンをクリックすると、タイムマシン風のスライダインタフェースが表示され、履歴の内容を確認できます。

Xcode 4 で変わったところ

前述の通り、ユーザーインタフェースは大幅に刷新されました。動作が微妙に変わったところもあって、慣れるまでは戸惑うかもしれません。

例えば、Xcode 3 では「Build」メニューにあった「Build & Debug (Command + Y)」に直接該当する動作は Xcode 4 にはなく、「Product」メニューの「Run (Command + R)」でプログラムを動作させ、ブレイクポイントの On/Off を「Product→Debug」メニューの「Activate/Deactivate Breakpoints (Command + Y)」で切り替えるような動作になりました。

キーバインド (キーボードショートカット) のデフォルト設定も変更されています。ほとんどのキーバインドはカスタマイズできるとは言え、デフォルト設定で Xcode 3 を使い込んでいる人には微妙にストレスの貯まる要因になるかもしれません。

例えば、私がよく利用するキーボードショートカットをいくつか取り上げると……

操作Xcode 3Xcode 4
ソースファイルと対応するヘッダファイルの切替 Command + Shift + ↑ Command + Control + ↑
エディタの履歴 (戻る・進む) Command + Shift + ← / → Command + Control + ← / →
オーガナイザーを開く Command + Control + O Command + Shift + 2

Xcode 3 ではプロジェクトのビルドターゲットを「Overview」ドロップダウンメニューで選択する形式でした。Xcode 4 では Overview の代わりに「Scheme」という概念が導入されています。

「Overview」ではビルドタイプ (Release, Debug, Distribution, etc)、デバイス (Simulator, Device)、ターゲット、実行環境、CPU アーキテクチャを個別に指定する必要がありました。

「Scheme」ではそれらの組み合わせをショートカットとして予め登録しておくような形で管理します。「Product」メニューで実行するコマンドに応じて、ビルドタイプを指定することができ、基本的には Release ビルド・Debug ビルドなどを意識する必要がないというコンセプトになっています。

Xcode 4 ではソースコードの編集中にリアルタイムでコンパイルが行われるのも大きな特徴です。

ソースコード単体の「Compile」コマンドはなくなりました。標準の設定では、ソースコードの編集時に適時コンパイルが行われ、エラー表示・警告表示もほぼリアルタイムで行われます。

当初、これを止める設定がないと思い込んでいましたが、Preferences → General → Enable Live Issues で止めることができます。私はとりあえず止めて利用するようにしています。

[写真] Xcode 4 : Preferences → General → Enable Live Issues

File → Project Settings → Build にも同様の設定があります。念のため、双方オフにしています。

[写真] Xcode 4 : File → Project Settings → Build

iTunes に似たインタフェースと先にも触れましたが、基本的にはひとつのウィンドウで全てを処理するような感じになっています。Interface Builder や Property Editor, File Merge などを統合したインタフェースになっていて、そのせいか画面スペースを Xcode 3 よりも占有します。

私は初代 MacBook を使っていますが、13 インチ 1280 x 800 の解像度ではかなり手狭に感じます。最近は外部モニタ (1280 x 1024) も使っていますが、やはり少し大きい画面が欲しくなります。

という訳で Xcode 4 をとりあえず導入はしてみましたが、しばらくは Xcode 3 と併用する方向で開発を行うようにしました。幸い Xcode は異なるバージョンを複数インストールして、それぞれを共存させることができるよう考えられています。

Xcode 3 と併用する

私の環境では、標準の Xcode パスである /Developer/ には Xcode 4 を、Xcode 3 は /Xcode3/ というディレクトリを作成して、そちらにインストールするようにしました。基本的には徐々に Xcode 4 に移行する前提で、緊急を要するときなどは慣れた Xcode 3 で作業するような感じにするようにしています。

ただ、初代 MacBook にメモリ 2GB という貧弱な環境では Xcode 4 はやはり重く、気がつくと Xcode 3 でばかり開発作業していたりしますが……。

まず、Xcode 3 をインストールするディレクトリをルートディレクトリ上に作成します。ルートディレクトリ上なので、管理者権限が必要です。

sudo mkdir /Xcode3

Apple Developer サイトからダウンロードした xcode_3.2.6_and_ios_sdk_4.3__final.dmg を展開し、インストーラを立ち上げます。

[写真] Xcode 3 インストーラ 起動

インストール先として先ほど作成した「Xcode3」を選択します。標準では「場所」が「Developer」になっていますが、これをクリックして「Xcode3」に変更します。

[写真] Xcode 3 インストーラ 場所選択

この時、以下のパッケージのチェックボックスを外しておきます

  • System Tools
  • UNIX Development
  • Documentation
  • Mac OS X 10.4 SDK

つまり、「Essentials」だけインストールする格好になります。私の場合、すでに Xcode 4 をインストール済みで、これらはすでに必要な場所にインストールされています。おそらくバージョンチェックによって上書きはされない思うのですが、念のため外しておきました。

あとは通常通りのインストールです。インストール終了後、/Xcode3/Applications/ の中を確認しておきます。

以前、Xcode 3 のアップグレードで肝心の Xcode アプリケーション本体がインストールされなかったという経験があるので、念のため確認する癖が……。そのときはおそらく Xcode がきちんと終了されていなかったのではないかと思っているのですが……。

[写真] Xcode 3 インストーラ インストール中

このままだと、Xcode 4 と Xcode 3 のアイコンが同一で、区別が付きません。Xcode 3 をきちんと区別するためにアイコンを適当に自作して、入れ替えておきました。

[写真] オリジナルアイコンと自作アイコン

もし欲しい方がいらっしゃいましたら、自作アイコンをダウンロード (313KB) してください。

解凍した「appicon.icns」ファイルを Xcode 3 のパッケージ内にある同一ファイル名と差し替えます。

Xcode 4 と Xcode 3 は同時に立ち上げることが可能ですが、同じプロジェクトファイルを開くのはやめておいた方が無難です。プロジェクトファイルが破損する可能性があります。……私の場合、ファイルの破損はしませんでしたが、挙動不審になったことがあり、以来同一プロジェクトを同時に開くことはしないようにしています。

そもそも Xcode 4 が重いので、基本的にはどちらか一方の Xcode のみを立ち上げるというスタンスにしています。

スポンサーリンク

<< 2010 年に入手したガジェットの個人的なまとめ :: アジャイルソフトウェア開発・スクラム会議導入に対する経過観察 >>