2011年10月6日木曜日

Xcode4への移行 [駆け出し編]

これまで Xcode 3.2.5 を使ってきましたが、10月12日に iOS5 がリリースされると聞いて、直後に慌てないように今のうちに Xcode 4 へ移行しておこうと考えました。

Xcode 4 は Xcode 3 から比べると、とんでもなく変わっていて、ちゃんと理解できるまで大分時間を要しそうです。

しかし、先人たちのドキュメントも増えてきましたので、それらを参考にしていければと思います。

今回は駆け出し編として、Xcode 3 で作った cocos2d用プロジェクトを Xcode 4で読み込んで、ビルド&実行するまでを解説します。cocos2d用プロジェクトは git のリポジトリに入っているものとします。

1. Xcode 4.1 をダウンロード
僕の環境は Snow Leopardなので、xcode_4.1_for_snow_leopard.dmg というファイルを Dev Center からダウンロードしました。

2. Xcode4移行ガイド日本語訳
http://sazameki.jp/translations/xcode4/IDEs/Conceptual/Xcode4TransitionGuide/
Xcodeのバイナリは4.3GBとデカイので、ダウンロード完了を待つ間、移行ガイドの「既存の Xcode 3 用のプロジェクトの使用」を読んでおきましょう。

3. インストール
dmgファイルの中のパッケージをインストールすると完了と思いきや、新しいXcodeが見当たりません。アプリケーションフォルダに Install Xcode というアイコンが作成されているので、これをダブルクリックして実行させます。
これで、旧 Xcode 3 関連のファイルは、/Developer から /Developer-3.2.5 へ移動され、Xcode 4 関連のファイルが /Developer にインストールされます。

4. Xcode 4 起動
Xcode 4 のアイコンが Xcode 3 のアイコンとまったく同じなのでビビります。

5. git リポジトリの clone 作成
Xcode の Window メニューから Welcome to Xcode を選択して下さい。
そこで、Connect to a repository を選択します。
リポジトリのフォルダ、もしくは URL を指定して下さい。
そして、clone 先のフォルダ名を指定します。この時、フルパスではなく、フォルダ名だけでいいです。どこに保存するかは、この後指定することになります。
Typeタブから、Git か Subversion を選択できます。ここでは Git を選択します。
cloneボタンを押して終わりです。

6. 環境設定のDerived Data生成フォルダを変更
Xcode の環境設定パネルを開き、Locations を選択します。
Derived Data の設定が Default になっていると思います。
このままだと、ビルドして生成される作業ファイルや実行ファイル群が、~/Library/Developer/Xcode/DerivedData/ 以下に生成されてしまいます。
この設定が嫌なので、Relative に設定して、プロジェクトのワークフォルダ以下に生成させるようにします。合わせてGit リポジトリに含ませないように .gitignore ファイルに、DerivedData フォルダを追記しました。
デフォルト設定。これは嫌!
Relativeに変更。なぜこれがRecommendedでないのか?
ちなみに僕の環境下ですと、~/Library/Developer 下のフォルダの所有者がすべて root になっていました。僕自身が変更した覚えはないので、Xcode インストーラーか何かのバグだと思います。しかし、Derived Data の環境設定がデフォルトのままですと、ビルド中に「error : unable to create ファイル名」とかいうエラーで停止してしまいます。
原因が分かれば、なんの事はないのですが、これはちょっとハマリポイントとして挙げておきます。
気持ち悪かったので、chown コマンドで所有権を自分にもどしておきました。
> sudo chown -R username ~/Library/Developer

7. ビルドセッティング
プロジェクトのビルドセッティングを確認している時、以下のようなものが表示されました。
ひとつは、PREBINDING と GCC_ENABLE_FIX_AND_CONTINUE の設定は古いから外すよという確認をせまっているようです。
もうひとつは、プロジェクトフォーマットが Xcode 3.1コンパチなので、Xcode 3.2コンパチへアップグレードするよという確認です。
両方ともOKなので、Perform Changes ボタンを押します。

すると今度は、こんなメッセージが現れました。(笑)
プロジェクトに大きな変更をした時に、自動的にスナップショットをとるかどうかの確認のようです。これは git リポジトリへコミットするということなのでしょうか? まだよく分からないのと、実際、自動でバックアップをとられるのは好きではないので、Disable を選択しました。

8. ビルド&実行 
ワークスペースウィンドウの左上の Run ボタンをクリックして、ビルド&実行します。

とりあえず今回はこれまで!

0 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...