とてもすばらしいiPhoneのプログラムを書こうと思うと,Xcode に InterfaceBuilder とかいうわけわからんホームページビルダーみたいなのを使うことを強制されて非常にやりにくい
ここにいい感じにまとめてあったけど,なんかはまったので InterfaceBuilder を使わないときにすることをまとめておく
簡単な手順としては,
- .plist を書き換える
- MainWindow.xib を削除
- main.m を書き換える
- appnameAppDelegate を書き換える
の順にすればおk
まずは,.plist の書き換え
.plist には「Main nib file base name」という項目があるのでそれを削除しちゃう
.plist はこれで終わり
そのまま Resources 以下の MainWindow.xib を削除
次に,main.m の変更
デフォだと MainWindow.xib を探しにいっちゃうので変更する
/* この行を */ int retVal = UIApplicationMain(argc, argv, nil, nil); /* こんな風に変更 */ int retVal = UIApplicationMain(argc, argv, nil, @"appnameAppDelegate");
最後に appnameAppDelegate の変更
まずは,@interface
Outletは必要なくなったのでUIWindow に関しても設定を変える
/* これを */ @interface appnameAppDelegate : NSObject<UIApplicationDelegate> { IBOutlet UIWindow *window; } @property(nonatmic, retain) UIWindow *window; /* こう変える */ @interface appnameAppDelegate : NSObject<UIApplicationDelegate> { UIWindow *window; }
次に,@implements
@synthesize window の削除
そして,window の生成
- (void)applicationDidFinishLaunching:(UIApplication *)application { /* この行を追加 */ window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; [window makeKeyAndVisible]; }
window を生成しないと,UI がまったく作れないことに注意
当たり前やけど
念のためにこの段階でビルドできるか確認しておいてね!
これで InterfaceBuilder なしで iPhone アプリが作れるぞ!
ヤッター!