xcode でも toolchain でもビルドできる iPhone アプリ構成を作る手順メモ
まず、xcode で新規プロジェクト作成。Window-Based Application が余計なもの作らないのでおすすめ。
.
|____Classes
| |____my_test_projectAppDelegate.h
| |____my_test_projectAppDelegate.m
|____Info.plist
|____main.m
|____MainWindow.xib
|____my_test_project.xcodeproj
| |____project.pbxproj
| |____typester.mode1v3
| |____typester.pbxuser
|____my_test_project_Prefix.pch
こんなファイル構成ができあがる。
まず、nib ファイルは toolchain 環境では扱えないので MainWindow.xib は削除。Info.plist からも
<key>NSMainNibFile</key>
<string>MainWindow</string>
って部分を削除。nib ファイルを使わないということはすなわち xcode のインターフェースビルダーが使えないということだけどまぁしょうがない。
つぎ、プリコンパイルヘッダ (my_test_project_Prefix.pch
) も僕はいらないので削除。また、project.pbxprojに
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = my_test_project_Prefix.pch;
という部分がDebugとReleaseの二カ所あると思うのでそこを
GCC_PRECOMPILE_PREFIX_HEADER = NO;
に変更。
Classes ってディレクトリ名が気に入らないので、src に変更。xcode側では読み込み直す。
アイコンとかリソースファイル用には resources ってディレクトリを作っておく。
最後に toolchain 用の Makefile をおく。
この時点でファイル構成は
.
|____Info.plist
|____my_test_project.xcodeproj
| |____project.pbxproj
| |____typester.mode1v3
| |____typester.pbxuser
|____main.m
|____Makefile
|____resources
|____src
| |____my_test_projectAppDelegate.h
| |____my_test_projectAppDelegate.m
こんな感じ。
これでどっちでもビルドできるようなアプリを書くことが可能。
めんどくさいので自動化したい。
追記@2008-12-11
project.pbxproj
を直いじりすると、その後 xcode から実機デバッグしようとするとUUIDがちげーよとかいう警告がでるようになるっぽい。(実際にデバッグは出来るのけど)
直いじりするかわりに xcode のプロジェクト設定で GCC_PRECOMPILE_PREFIX_HEADE
とかを編集すれば大丈夫。