xcodeプロジェクトのテンプレートを用意する
2010/05/26
![](https://resources.blogblog.com/img/icon18_edit_allbkg.gif)
xcodeです。
参考リンクだけおいてもよかったけど、僕にとって今後重要そうなtipsなのでメモしておきます。
基本方針としてiphone,ipod,ipadの開発にはIB(InterfaceBuilder)使わないことにしたので、Xcodeのプロジェクトのテンプレートをxibなしにして用意していきます。
上記のサイトを参考(すごくまとまってます.gitignoreまで用意してます!!)
で、Xcodeは新規プロジェクトを作成する際のテンプレートを用意してくれてます。それをカスタマイズして追加していきます。
Window-based Applicationをターゲットにして作業していきます。
まず、テンプレートの位置
/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates/Application/Window-based Application
中身はこんな感じ
これらがテンプレートプロジェクトになります。
$ ls
TemplateChooser.plist
Window-based Universal Application
Window-based Universal Core Data Application
Window-based iPad Application
Window-based iPad Core Data Application
Window-based iPhone Application
Window-based iPhone Core Data Application
Window-based-non-IB-iPhone Application
色がついたところは僕が追加しました。
(1)
「Window-based iPhone Application」をコピーして、「Window-based-non-IB-iPhone Application」を作成
「Window-based-non-IB-iPhone Application」にあるファイルをひとつづ編集していきます。
(2)
「main.m」のUIApplicationMainの4番目の引数を@"___PROJECTNAME___AppDelegate"にします。
(3)
「___PROJECTNAMEASIDENTIFIER___-Info.plist」
xib使ってる項目を削除
<key>NSMainNibFile</key>
<string>MainWindow</string>
(4)
MainWindow.xibファイルをばっさり削除
(5)次が面倒だけど、___PROJECTNAME___.xcodeprojの中にあるproject.pbxprojファイルの中から、MainWindow.xibと記述されている行を削除していきます。結構あります....
(6)最後に、/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates/Application/Window-based Application直下にあるTemplateChooser.plistを編集します。
ここに追加されてはじめてXcodeはテンプレートを選択肢にあげてくれます。
TemplateChooser.plistをみると追加するところはすぐにわかります。
で、結果どうなるかといいますと、
新規プロジェクトでテンプレートを選択できます。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEia7JweFoHcrohQi2JfFneiY7K812dpGCy19lGRodF1Hdg7al08O0Q-C3p_ZZ4GjNpR0Ej5QDmM-62hUMQMYxnrgHxWx8xibZnh2EhpFWnRzCg5TeKaILFTFO2e3fcYjET5lRft8H3urFzC/s400-rw/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%EF%BC%882010-05-26+12.41.00%EF%BC%89.png)
今後は、ボタンをのっけたテンプレートを用意したりして、トライアンドエラーを繰り返せる環境を用意しようかなと。
何度も同じ作業しないためにも!!テンプレート重要!!
ほんと、反省してるのは、現在進行中のプロジェクト上で、プログラミング検証用のコードとか、振る舞いをコードをいろいろ書いてコメントアウトしたりしてトライアンドエラーしてること。
お試し用のプロジェクトと本番プロジェクトをきっちりわけておきたいところ。
: