連載
» 2009年05月14日 00時00分 UPDATE

ここが大変だよiPhone開発(2):iPhone開発。まずはサンプルを動かしてみよう (2/3)

[佐々木義一郎,コニット]

Xcodeの基本的な使い方 

 基本的な使い方は以下のとおりです。ちなみに、私はVisualStudioやEclipse出身なので、最初はInterfaceBuilderはどう使っていいのかサッパリ分かりませんでした。

1. 起動

 /Developer/ApplicationsにXcodeがインストールされているので起動しましょう。

 ほかにも、InterfaceBuilder、InstrumentsなどiPhoneアプリ開発に使うソフトが入っています。

SDKのインストール先を選ぶ SDKのインストール先を選ぶ

2. プロジェクトの作成

プロジェクトの新規作成 プロジェクトの新規作成

 デフォルトではViewBasedApplicationが選択されているので、選択して「Example01」プロジェクトを作成しましょう。

プロジェクトの作成後 プロジェクトの作成後

3. コンパイルとデバッグ実行

 プロジェクト作成後はひな型となるソースコードが生成されます。デバッグ機能を試すためにブレークポイントを設定しましょう。

  Example01AppDelegate.mのソースの一部

- (void)applicationDidFinishLaunching:(UIApplication *)application { //Override point for customization after app launch 
[windowaddSubview:viewController.view];
[windowmakeKeyAndVisible]; 
}

 「[windowaddSubview:viewController.view]」の部分にブレークポイントを設定します。

4. 設定が終わったら

 まず、メニュー>ビルド>ビルドを実行してビルドします。その後メニュー>実行>デバッグでデバッグを開始します。

 どうでしょうか? iPhoneシミュレータが起動してブレークポイントで止まると思います。

Xcodeでのデバッグとシミュレータでの実行 Xcodeでのデバッグとシミュレータでの実行
シミュレータを使ってiPhone上で実行 シミュレータを使ってiPhone上で実行

 Xcodeのデバッグモードでは、上部にステップ実行のボタン類と、右上に変数が表示されます。これによって、変数の値を確認しながらステップ実行ができますね。この状態ではまだ、アプリは真っ黒で何も表示されません。ここに自分のアプリを実装していきます。

取りあえずサンプルをいくつか動かしてみる

 Xcodeに付属のヘルプにもサンプルが付属していますが、iPhoneDeveloperConnectionには最新のサンプルコードが掲載されています。

サンプルのページ(要ログイン)

http://developer.apple.com/iphone/library/navigation/SampleCode.html

補足


 Appleが提供しているサンプルコードも実は地味にアップデートが掛かっているものが多く、Xcode付属ヘルプのコードは古い場合があります。 

 サウンドのサンプル「SpeakHere」は過去2回アップデートされていますし、Web版のサンプルを使うことをお勧めします。


iPhoneらしいUIのサンプル

http://developer.apple.com/iphone/library/samplecode/......

 テーブル状のリスト表示で、タップすると右側にニュルッと画面が切り替わるNavigationControllerを使ったアプリで、組み込みのボタンやツールバーなど画面のコンポーネントをすべて確認できるサンプルです。

短い効果音サウンド+バイブレーションのサンプル

http://developer.apple.com/iphone/library/samplecode/......

 ボタンを押すことで、効果音の再生と、バイブレーションの再生が確認できるサンプルです。

録音+再生のサンプル

http://developer.apple.com/iphone/library/samplecode/......

 内蔵マイクを使った音声録音と、録音した音声ファイルの再生方法が確認できるサンプルです。またボリュームレベルに応じてレベルのメーターがグイグイと動かす方法も分かります。

ムービー再生のサンプル

http://developer.apple.com/iphone/library/samplecode/......

 MPEG 4ムービーファイルをフルスクリーン再生することが確認できるサンプルです。

GPSのサンプル

http://developer.apple.com/iphone/library/samplecode/......

 GPSの位置情報を取得する方法と、GPS精度の設定方法の確認ができるサンプルです。

加速度センサーのサンプル

http://developer.apple.com/iphone/library/samplecode/......

 大工さんが使う水平器をモチーフにして本体の傾きを測定するサンプルです。

 加速度センサーの利用法と、ちょっとしたアニメーションの使い方が確認できるサンプルです。

OpenGLのサンプル

http://developer.apple.com/iphone/library/samplecode/......

 OpenGLを使った描画方法が確認できる、2次元の手描きのお絵描きアプリです。

ほかにもたくさんのサンプルコードが

 ほかにもたくさんのサンプルコードが提供されていますので、最初は意味が分からなくても一通り実行してみた方がいいですね。

 最初から全部を理解するのは不可能だと思いますが、実行結果のイメージや用語類について慣れておくと後々探し物が楽になりますからぜひやってみてください。

 アプリを開発し始めたときに、「確かバイブレーションするサンプルあったな」なんて思い出せればよく、全部覚える必要は全くありません。

 ほとんどの開発はサンプルを参考にすれば作れるようになりますし、AppStoreで配布しているアプリでも、サンプルを少し変えただけのようなアプリもあるくらい優秀なサンプルがたくさんあります。

 最初は分からないと思いますが、いろいろ触っていると「NSStringクラスは、CFStringっていう同じようなC言語用の型もあったよな〜」とか、「CFStringRefってNSStringのポインタと同じような使い方するんだな〜」とか、FoundationFrameworkとCoreFoundation Frameworkの関係まで理解できれば素晴らしいです。

Foundationの包含関係 Obective-Cの言語では、C++と同様にC言語の関数が使えます。 NS〜〜という名前のクラスはFoundationのレイヤにあるクラスで、CF〜〜という名前の関数・構造体はCoreFoundationのレイヤです。 

 NSStringに対するCFString、NSURLに対するCFURLなど、FoundationはCoreFoundationをObjective-Cで使いやすいようにラップしたクラスとなっています。


Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

Focus

- PR -

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。