====== Interface Builderを使わずにアプリ作成 ====== MACのアプリ制作に慣れている方は問題ないのかもしれませんが、Windowsに慣れてしまっていると、Interface Builder(IB)は敷居が高いです。\\ iPhoneでは複雑なUIを作ることはないのでIBを使わずにプログラミングしていきます。\\ ===== プロジェクトの作成 ===== 「Window-Based Application」テンプレートを使用しプロジェクトを作成します。 {{:iphone:iphone000.png|}} ===== プロジェクトの設定 ===== - xib ファイルができているので、xib ファイルを削除。\\ - アプリ名-Info.plistの「Main nib file base name」項目を削除。\\ - C++を使うために拡張子をmからmmに変更。(main.m、Classes/アプリ名AppDelegate.m)\\ ===== ソースコードの書き換え ===== xibを消したことによりデリゲータが無くなってしまったので、\\ UIApplicationMain関数にデリゲータを指定します。\\ main.mm // 編集前 int main(int argc, char *argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; int retVal = UIApplicationMain(argc, argv, nil, nil); [pool release]; return retVal; } // 編集後 int main(int argc, char *argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; int retVal = UIApplicationMain(argc, argv, nil, @"アプリ名AppDelegate"); [pool release]; return retVal; } アプリ名AppDelegate.hから不要なコードを削除。 // 編集前 @interface EmojiGetAppDelegate : NSObject { UIWindow *window; } @property (nonatomic, retain) IBOutlet UIWindow *window; @end // 編集後 @interface EmojiGetAppDelegate : NSObject { UIWindow *window; } @end EmojiGetAppDelegate.mmから不要なコードを削除。 // 編集前 #import "アプリ名AppDelegate.h" @implementation アプリ名AppDelegate @synthesize window; // 編集後 #import "アプリ名AppDelegate.h" @implementation アプリ名AppDelegate