nibファイルを使わないテンプレートを作る(1)Window-Based Application

Interface Builder を使いこなせません。もう使いたくありません。

そこで、Xcode付属のテンプレートをカスタマイズして、nibファイルを使わないテンプレートを作ることにしました。
(参考:d:id:griffin-stewie:20090315:p1

まずは、iPhone用のWindow-Based Application をカスタマイズします。

テンプレート Window-Based Application をコピーする

/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates/Application

にある Window-Based Application フォルダを

~/Library/Application Support/Developer/Shared/Xcode/Project Templates/Application/

にコピー。
フォルダ名を My Window-Based Application に変更します。

main.m を編集する

以下の1行を編集します。

変更前
int retVal = UIApplicationMain(argc, argv, nil, nil);
変更後
int retVal = UIApplicationMain(argc, argv, nil, @"___PROJECTNAMEASIDENTIFIER___AppDelegate");

MainWindow.xib を削除する

削除しちゃいます。

Info.plist を編集する

Main nib file base name を削除します

___PROJECTNAMEASIDENTIFIER___AppDelegate.m を編集する

applicationDidFinishLaunching:メソッドを編集します。

変更前
- (void)applicationDidFinishLaunching:(UIApplication *)application {    

    // Override point for customization after application launch
    [window makeKeyAndVisible];
}
変更後
- (void)applicationDidFinishLaunching:(UIApplication *)application {
    UIWindow *w = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.window = w;
    [w release];
    [window makeKeyAndVisible];

}

完成

この調子でどんどん作るよ。