====== 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