- 2010-08-08
- Edhita
3月にv1.0、7月にv1.5(.1)を公開したjsanyですが、
たくさんの方に使っていただいているようで、嬉しい限りです。
ただ、何もわかってない頃に作り始めたこともあり、こいつの内部実装はもうぐちゃぐちゃです。
その結果、1.5で重大なバグを出してしまい、すぐ1.5.1を出すハメになりました。
このままいくといずれ破綻しそうなので、
オープンソースなアプリで腕を磨いて、改めてObjective-Cを勉強しなおしたいと思います。
題材はテキストエディタ、名前はまんまですが「edhita」です。
中身を深く理解する為、IBは使用しません。
また、ソースコードは全てgithubで公開します。
このアプリ作成で得たノウハウをjsanyにFeedbackしていこうという魂胆です。
※ ホントはjsanyをオープンソースにしたいんですが、
今のコードは恥ずかしすぎてとても晒せないので。
(ただでさえ高くないプログラマとしての評判がガタ落ちしちゃいます)
では、始めます。
初回はIB不使用なiPadアプリプロジェクトを作成するところまでやります。
[参考書籍]
と、その前に参考にした書籍を紹介しておきます。
他に参考にした情報があれば、それぞれの回で記載します。
2010/09/09 追加
[IB不使用なプロジェクトの作成]
前置きが長くなりました。
IBを使わないプロジェクトは、以下の手順で作成できます。
簡単ですね。
- Xcodeの新規プロジェクトから、「Window-based Appication」、Productは「iPad」を選択。
- MainWindow.xibファイルを削除する。
(参照を削除じゃなく、一緒にゴミ箱に入れる)
- 「プロジェクト名-info.plist」の「Main nib file base name」を項目ごと削除。

- main.mのmain()を修正。
(plistに指定したnib fileから自動で取得されていたものをコードで指定)int main(int argc, char *argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; // int retVal = UIApplicationMain(argc, argv, nil, nil); int retVal = UIApplicationMain(argc, argv, nil, @"EdhitaAppDelegate"); [pool release]; return retVal; } - AppDelegateの修正。
(自動で作成されていたUIWindowインスタンスを作成し、viewとlabelを追加。)// EdhitaAppDelegate.m // @synthesize window; - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; UIView *view = [[UIView alloc] initWithFrame: [window frame]]; [window addSubview:view]; UILabel *label = [[UILabel alloc] initWithFrame: [window frame]]; label.text = @"Hello, iPad!"; label.textAlignment = UITextAlignmentCenter; label.font = [[UIFont alloc] fontWithSize: 50]; [view addSubview:label]; [window makeKeyAndVisible]; return YES; }// EdhitaAppDelegate.h //@property (nonatomic, retain) IBOutlet UIWindow *window; - ビルドと実行。
[まとめ]
今回の作業はこれで終了です。
俗に言うHello, world!ですね。
次回以降、テキストエディタとしての機能を追加していきます。
宜しくお付き合い下さい。
突っ込みもお待ちしています。
[コード]
今回のコードは「Edhita1.zip」に入っています。
GitHubのdownloadページからダウンロードして下さい。
Downloads for tnantoka's Edhita - GitHub
[おまけ:目次]
こんな感じで進めたい。
- 第1回:プロジェクトの作成
- 第2回:SplitView
- 第3回:ファイル操作とNavigationController
- 第4回:Syntax Highlighting
- 第5回:Accessory View
- 第6回:広告
- 第7回:FTP
- 第?回:未定
Comments:0
Trackback+Pingback:0
- TrackBack URL for this entry
- Listed below are links to weblogs that reference
- IB不使用&オープンソースなiPadアプリ(テキストエディタ)を作る 第1回:プロジェクトの作成 from Born Neet





