大きくする 標準 小さくする

iPhoneアプリゲームのおすすめ検索サイトならApp4U ブログテーマ:iPhoneアプリ開発

第4回 初めてのプログラミング

[iPhoneアプリ開発] 投稿日時:2008/12/26(金) 00:00

第4回 初めてのプログラミング

今回からいよいよプログラミングを行います。最初のプログラミングはInterface Builder上で行います。

前回のおさらい

第3回では,Interface Builderを使った画面の作り方を学びました。実際に画面(View)に配置したパーツを再確認してみましょう。

Viewに配置されたパーツと名前

Viewに配置されたパーツと名前

  • ユーザに何らかの文字を入力させるための「テキストフィールド」
  • ユーザにいくつかの選択肢の中からひとつを選ばせるための「セグメンテッドコントロール」
  • 画面上に文字を表示するための「ラベル」

これらのパーツを配置しただけの状態では,アプリは何の役にも立ちません。そこでいよいよ「役に立つアプリ」にするために,プログラミングの作業へと入っていきます。

操作と処理を確認する

まず,ユーザがパーツに対してどのような操作を行うかと,プログラムにどのような処理(動作)をさせるかについて確認しておきましょう。

このアプリでは,ユーザが入力した金額と選択した割引率から,割引後の金額を表示するという機能を実現します。ユーザーが行う操作は,次の2つです。

  • 金額を入力する
  • 割引率を選択(変更)する

そして,これらをもとにプログラムが行う処理は

  • 割引後の金額を計算して表示する

となります。

プログラムを動かすためには,何らかの操作が必要です。プログラムは,あらかじめ決められた処理を忠実にこなすことしかできません。そこで,プログラムが処理を行うきっかけを,ユーザが行う操作の中から決めておく必要があります。組み合わせは複数あっても構いませんが,とりあえずここでは「割引率を選択(変更)する」というきっかけで「割引後の金額を計算して表示する」という動作の組み合わせにしておきます。

アウトレットとアクション

パーツとそれぞれの役割,さらにプログラムの処理が決まったら,実際にプログラミングをしていきます。その前に,2つの新しい言葉を覚えておいてください。

アウトレット

アウトレットは,画面上のパーツから情報を取り出したり,パーツに情報を与えたりするために必要なものです。ここで言うアウトレットは,英語のOutletを辞書で引くと出てくる「コンセント」の意味です。画面上に配置したパーツからは,コンセントにさしこむための線をのばすことができます。そこで,プログラムにコンセントの穴を設置して,そこにパーツの線を差し込むことによって,プログラムとパーツとの間で情報をやりとりできるようになります。

アクション

アクションは,プログラムの処理のことです。アクションに書かれた内容に従って処理を行うのはプログラムですが,その処理を開始するためのなんらかのきっかけが必要です。「このボタンが押されたらこの処理をする」や「ここに文字が入力されたらこの処理をする」というように,プログラムの処理とそのきっかけをセットで考えておく必要があります。

プログラムの作成

それではプログラムを作っていきましょう。最初のプログラミングはInterface Builder上で行います。

アウトレットの作成

まずはアウトレットを作成します。このアプリでプログラムが必要としているパーツ内の情報は,ユーザが入力した金額と,ユーザが選択した割引率の2つです。さらに,それらをもとにプログラム内で計算した割引後の金額を画面に表示するため,プログラムから画面上にある結果を表示するためのパーツに割引後の金額を入れてあげる必要があります。つまり,情報を取り出す側と入れる側,合計3つのアウトレットが必要となります。

アウトレット,すなわちコンセントの穴はプログラムに設置し,そこにパーツをつなげると説明しました。さて,プログラムとはどこにあるのでしょうか?

File's Ownerはプログラムの実体を表すアイコン

File's Ownerはプログラムの実体を表すアイコン

実は,Interface Builderにプログラムの実体がアイコンで表示されています。パーツを配置した「View」のウインドウではない,もうひとつのウインドウを見てください。ここに「File's Owner」というアイコンがあります。これがプログラムの実体です。すなわち,このFile's Ownerにアウトレットを作成し,パーツを接続していきます。

File's Ownerを選択し,インスペクタの最も右にあるIdentityタブを選択します。インスペクタが表示されていない場合は,メニューの[Tools]→[Inspector]を選択すると表示されます。

インスペクタの中ほどに「Class Outlets」という項目があります。ここにアウトレットの一覧が表示されますが,まだ何もありません。「+」が付いているアイコンを押して,アウトレットを追加してみましょう。

+ボタンでアウトレットを追加

+ボタンでアウトレットを追加

まず1回押すと「myOutlet1」というアウトレットが作成されました。この名前は好きなものに変えて構いません。そのアウトレットが何のために使われるものなのかを表すような名前にするとよいでしょう。まず1つ目のアウトレットではユーザが入力した割引前の金額を取り出すので,元値ということで「motone」という名前を付けておきます。

さらに2つ,アウトレットを追加しましょう。ひとつはユーザが選択した割引率を取り出すためのものなので「waribiki」としておきます。最後の1つは計算した結果をパーツに入れるためのものですので「kekka」としておきましょう。

名前を付けたアウトレット

名前を付けたアウトレット

これでプログラムに3つのアウトレットが作成されました。アウトレットに付けた名前と,それぞれを使ってやりとりする情報をまとめておきます。

  • motone:割引前の金額
  • waribiki:割引率
  • kekka:割引後の金額

アクションの作成

次はアクションです。アウトレットと同様,インスペクタで作成します。先ほどの Class Outlets の上にある「Class Actions」がそれです。

プログラムの動作は「割引後の金額を計算して表示する」の1つなので,アクションの数は1つです。Class Actionsにある+をクリックして,1つだけアクションを追加します。

+ボタンでアクションを追加

+ボタンでアクションを追加

「myAction1: 」というアクションが作成されました。アウトレットのときと違って,名前の後に「:」(コロン)が付いています。とりあえずこの名前は変更しないでおきましょう。もちろん,コロンも付けたままにしておいてください。

パーツへの接続

続いて,作成したアウトレットにパーツを接続します。File's Ownerを右クリックしてみてください。出てきたウインドウに,先ほど作成したアウトレットとアクションを見つけることができます。それ以外のものもありますが,ここでは先ほど追加した3つのアウトレットと1つのアクションに注目してください。

File's Ownerのアウトレットとアクション

File's Ownerのアウトレットとアクション

まずはアウトレットと各パーツを接続します。それぞれのアウトレット名の右側にある丸い部分(マウスカーソルを乗せると+に変わります)を,Viewウインドウの対応するパーツにむかってドラッグしてみてください。すると,丸い部分から線が伸びていき,接続するパーツのところで青い枠が表示されます。

アウトレットにパーツを接続する

アウトレットにパーツを接続する

パーツの上でドラッグを離すと,アウトレットにパーツが接続され,アウトレットの名前の右側に接続されたパーツの名前が表示されます。こうして3つのパーツをそれぞれの対応するアウトレットに接続していきましょう。接続を間違えた場合は,接続先が表示されている部分にある×を押して接続を解除することができます。1つのアウトレットに複数のパーツをつないでしまった場合も,×を押して接続を解除してください。

アクションの設定もここで行います。どのパーツのどのようなきっかけに対して,アクションを起こすかを設定します。アウトレットの接続と同様,「myAction1: 」の右にある丸い部分を,アクションを起こすきっかけとしたいパーツに向かってドラッグして下さい。ここでは,セグメンテッドコントロールに向かって線をひっぱります。

アクションにパーツを接続する

アクションにパーツを接続する

パーツの上でドラッグを離すと,アクションを起こすきっかけを選ぶことができます。ここでは「割引率を変更する」をきっかけとしたいので,一覧の中から「Value Changed」(値が変わった)を選択します。

アクションを起こすきっかけを選択する

アクションを起こすきっかけを選択する


ファイルを生成する

プログラミングをするとは言ったものの,ここまで一度もプログラミングらしいことをしていないことを気にしている方もいらっしゃることでしょう。ですが,心配ありません。アウトレットを作成し,それらをパーツとつなげたことで,すでにいくつかのプログラムを書いてしまっているのです。では実際に,これらの作業でどのようなプログラムが書かれたのかを確認してみましょう。

[File]→[Write Class Files...]でファイルに書き出す

[File]→[Write Class Files...]でファイルに書き出す

File's Ownerが選択された状態で,Interface Builderのメニューから[File]→[Write Class Files...]を選択してください。Save ウインドウが表示されたら,「Save as: 」に表示されているファイル名を確認し(BargainSaleViewController.m),そのまま「Save」をクリックして保存してください。

すると,すでにファイルがあるのでどうするかを確認するウインドウが表示されますので,「Replace」を押してファイルを上書き保存しましょう。

ここまでの作業がプログラムのファイルとして書き出されました。Xcodeに戻り,先ほど保存したファイル (BargainSaleViewController.m)を選択してみましょう。右側のウインドウにプログラムが表示され,アクションとして設定した「myAction1: 」を見つけることができるでしょう。

書き出されたファイルの中身(BargainSaleViewController.m)

書き出されたファイルの中身(BargainSaleViewController.m)

アウトレットは,ヘッダファイルにあります。同じ名前で,.mのかわりに.hとなっているファイル(BargainSaleViewController.h)を選択して中身を確認してください。「motone」「waribiki」「kekka」の3つのアウトレットと,さらに先ほど.mファイルにもあった「myAction1: 」が記述されているはずです。そしてここに見られるプログラミング言語が,Objective-Cです。

あとはアクションの中身,すなわち実際に割引後の金額を計算するためのプログラムを書けば,見事にバーゲン教師の完成です。アウトレットからパーツの中身を取り出し,アクションの中で計算を行い,結果を再度アウトレットを通してパーツに入れる。これがプログラムの基本的な流れとなります。

アクションを書く

では,いよいよアクションを記述しましょう。先ほど開いた「myAction1:」のある.mファイル(BargainSaleViewController.m)を選択して開き,「myAction1:」の部分に以下のプログラムを記述してください。

- (IBAction)myAction1:(id)sender { int kakaku = [[motone text] intValue]; switch([waribiki selectedSegmentIndex]){ case 0: kakaku = kakaku * (1.f - 0.2f); break; case 1: kakaku = kakaku * (1.f - 0.3f); break; case 2: kakaku = kakaku * (1.f - 0.4f); break; case 3: kakaku = kakaku * (1.f - 0.5f); break; default: break; } [kekka setText:[NSString stringWithFormat:@"%d", kakaku]]; }

書き終えたら「ビルドして進行」をクリックします。保存を促すダイアログが表示されたら「すべてを保存」をクリックしてください。ビルドが完了すると,iPhoneシミュレータが起動してアプリが動きます。

テキストフィールドに適当な金額を入力して,セグメンテッドコントロールの割引率を変更してみてください。下のラベルに割引後の金額が表示されれば,大成功です。割引率を変更すると,割引後の金額も変わります。

割引率を変更したタイミングで結果が更新される

割引率を変更したタイミングで結果が更新される

Cocoa Touch がもたらすもの

ここまでを振り返ってみると,実際にプログラムらしいものを書いたのは,最後に埋めた「アクションの中身」だけです。このアクションは,アプリの機能や性能を決める大切な部分でもあります。逆に言えば,アクションの中身を書く以外の部分は,すべてのアプリ開発で共通して行う作業であると言えます。

Interface Builderを使って楽にアプリの枠組みを作ってしまえば,開発者はアクションの中身を書くことにより多くの時間を費やすことができます。これがCocoa Touchを使う最大のメリットなのです。

次回は

次回は,アクションに記述したObjective-Cプログラムの動作と,Cocoa Touchのパーツにアクセスする様々な方法について学びます。プログラミングの要素が増え,少しずつ難易度も上がっていきますが,あせらずに順序よく身につけていきましょう。

第3回 アプリ開発の第一歩

[iPhoneアプリ開発] 投稿日時:2008/12/11(木) 00:00

第3回 アプリ開発の第一歩

今回から,実際にiPhoneアプリを開発する手順や方法について解説します。

Xcodeプロジェクトの作成

いよいよ,Xcodeを使ってiPhoneアプリを作成します。Xcodeを起動し,プロジェクトを作成しましょう。Xcodeのメニューから「ファイル」→「新規プロジェクト...」を選択します。

テンプレートの中から「View-Based Application」を選択

テンプレートの中から「View-Based Application」を選択

第2回と同様,ここでは「View-Based Application」を選びます。今回はApp Storeでも配布されている,価格を入れて割引率を 選ぶと自動的に割引後の金額を表示するアプリ「バーゲン教師」を作りますので,プロジェクト名は「BargainSale」としました。もちろん他の好きな名前でもかまいません。アプリ名はこれとは別に設定しますが,開発中はひとまずこの名前を使います。

保存が完了すると,選択したテンプレートを元にファイルが生成されます。まずはどのようなファイルがあるかを確認していきましょう。

クラスファイル

クラスファイル

クラスファイル

クラスファイルは,プログラムを書くためのファイルです。左側のClassesフォルダの中にある.hや.mがそれに該当します。とくに.hのファイルを「ヘッダファイル」または単に「ヘッダ」と呼びます。ボタンが押されたり,ユーザが入力したりした結果をiPhoneで処理するためのプログラムをここに書きます。使用する言語はObjective-Cです。プログラムを書くファイルなので,プログラムの「ソースコード」を書くファイルという意味から,ソースファイルとも呼びます。

XIBファイル

XIBファイルは,アプリの画面を構成するパーツの配置や大きさなどを記録したファイルです。Resourcesフォルダにある.xibがそれです。Cocoa Touchを使ったアプリ開発では,XIBファイルを編集することがスタート地点となります。XIBファイルの編集には,ドラッグアンドドロップの操作で簡単にパーツを画面上に配置できる「Interface Builder」を使います。

XIBファイルとInterface Builder

XIBファイルとInterface Builder

リソースファイル

これらの他に,アプリを作るうえで必要なファイルをリソースファイルと呼びます。本来クラスファイル以外のものはすべてリソースファイルにあたるのですが,XIBファイルはリソースファイルの中でも特にアプリ開発において重要な役目をするので,便宜的にXIBファイルはそのままの名前で呼ぶことにしています。

リソースファイルはその名のとおり,アプリが動作する上で必要なリソース,すなわち資源としての機能を持つファイルのことです。初歩的なアプリでは特に意識する必要はありませんが,高機能で複雑なアプリの開発においては多くのリソースファイルを管理することになる場合があります。

他にもいくつかのファイルがありますが,まずはこれらのファイルを使って開発を進めていきます。

Interface Builder

XIBファイルは,Xcodeに付属の「Interface Builder」というアプリケーションを使って編集します。Xcode上でXIBファイルをダブルクリックすることで,自動的にInterface Builderが起動してファイルを表示します。

ファイルの構成を表すウィンドウと,「View」という名前のついたウィンドウが自動的に開きます。View のウィンドウが開いていない場合は,構成を表すウィンドウの中にある View をダブルクリックして開いてください。

メニューからライブラリを選択

メニューからライブラリを選択

Interface Builderが起動した状態で,Tools→Libraryと選択すると,ライブラリパネルが開きます。ここには Cocoa Touchで利用できるパーツが並びます。上部のObjectが選択された状態で,Library→Cocoa Touch Plugin→Inputs & Valuesを選んでみてください。下のほうにいくつかの見慣れたパーツが並びます。

たとえば,Labelは,文字を表示するためのパーツです。Round Rect Buttonはボタン,Text Field は文字を入力するためのテキストボックスといった具合です。これらのパーツを,ドラッグアンドドロップで先ほどの View の中に配置していきます。ここから先は,このInputs & Valuesに並んでいるパーツを使っていきます。

ライブラリパネルにある Inputs & Values のパーツ

ライブラリパネルにある Inputs


パーツの配置

ラベル

それでは早速パーツを配置していきましょう。まずはラベルという文字を表示するパーツを使います。ライブラリパネルにある「Label」を,Viewのウィンドウにドラッグアンドドロップしてみてください。

ライブラリからラベルを選択

ライブラリからラベルを選択

Labelという文字が表示されました。この文字はダブルクリックで編集できますので,ここでは数字で「123456789」と入力してみましょう。

ラベルに文字を入力した状態

ラベルに文字を入力した状態

テキストフィールド

次に,文字入力用のテキストフィールドを配置しましょう。ライブラリパネルにある「Text Field」を,Viewのウィンドウにドラッグアンドドロップします。

ライブラリからテキストフィールドを選択

ライブラリからテキストフィールドを選択

これで,iPhoneの画面上でタッチするとキーボードが現れるテキストフィールドが配置されました。そのままの状態では標準のキーボードから好きな文字を入力できるようになっています。ここでは価格を入力させたいので,入力できるものを数字に限定します。

テキストフィールドをViewに配置

テキストフィールドをViewに配置

テキストフィールドの設定を変更するには,インスペクタを使います。Interface BuilderのメニューからTools→Inspectorを選択して,インスペクタパネルを表示します。

メニューからインスペクタを選択

メニューからインスペクタを選択

インスペクタは,各パーツが持つさまざまな設定を行うためのパネルです。パーツを配置したらまずこのインスペクタを使って設定を行います。各パーツを選択すると,そのパーツに対応した設定が表示されるようになっています。先ほど配置したテキストフィールドを選択すると,テキストフィールドの設定が表示されます。

インスペクタパネル

インスペクタパネル

インスペクタパネルの上部には,アイコン付きのタブが4つ並んでいます。このうち,パーツの設定が行えるのは一番左のタブです。テキストフィールドに数字だけを入力させたい場合,そのテキストフィールドをタッチしたときに数字のみが入力できるキーボードを表示すれば,数字以外の文字を入力される心配がありません。キーボードの種類は「Keyboard Type」で指定します。ここでは数字のみのキーボードである「Number Pad」を選択します。

キーボードのタイプを指定

キーボードのタイプを指定


セグメンテッドコントロール

セグメンテッドコントロールは,複数の選択肢からいずれか1つを選択させるためのボタンです。親しみづらい名前なので,選択するためのボタンという意味で「セレクトボタン」などと言ったりもします。ここでは,割引率を選択させるために使います。

ライブラリパネルから「Segmented Control」を選び,Viewに配置します。

キライブラリからセグメンテッドコントロールを選択

ライブラリからセグメンテッドコントロールを選択

配置が完了したら,選択肢を設定しましょう。まずは選択肢の数です。設定はもちろんインスペクタから行います。セグメンテッドコントロールが選択された状態で,インスペクタの「Segments」を変更して選択肢の数を変更します。横にある上下矢印のボタンで選択肢の数を増減できます。あまり選択肢が多いと操作しづらくなるので,ここでは4つとしておきましょう。

選択肢の数を4つに設定

選択肢の数を4つに設定

次にそれぞれの選択肢に名前をつけます。設定したい部分をダブルクリックして入力しましょう。ここでは,割引でよく使う20%から50%までを入力します。

選択肢に名前を付けた状態

選択肢に名前を付けた状態

ビルドと実行

これで最低限のパーツの配置が完了しました。ここで1つ気を付けておきたいことがあります。それは,すべてのパーツを画面の上半分に配置しておく,ということです。こうしておく理由は,実際にアプリを実行した後でわかります。

ではアプリをビルドして実行してみましょう。Xcodeに戻り「ビルドして進行」をクリックしてください。ここで「ビルド前に保存しますか?」というウィンドウが表示されたら「すべてを保存」をクリックします。

編集したファイルの保存をうながすウィンドウ

編集したファイルの保存をうながすウィンドウ

ビルドが完了すると,iPhoneシミュレータが起動してアプリが実行され,先ほどパーツを配置した画面がiPhoneの画面を模したシミュレータ上に表示されます。iPhoneシミュレータの画面上では,マウスを使って実際にクリック(タッチ)して操作することができます。指でMacの画面をタッチしても当然ながら反応しませんので気をつけてくださいね。マウスを使って,タッチしている気分になりながらiPhone シミュレータ上をクリックしてください。

セグメンテッドコントロールをクリックして,20%以外の選択肢が選べることを確認しましょう。次に,テキストフィールドをクリックして,キーボードを表示してみます。

テキストフィールドをクリックするとキーボードが表示される

テキストフィールドをクリックするとキーボードが表示される

インスペクタで設定したとおり,数字だけのキーボードが表示されました。ところが,このキーボードが表示されると画面の下半分を覆ってしまいます。先ほど画面の上半分にパーツを配置しておいたのはこのためです。

下半分に配置してしまうと,キーボードが表示されると同時にパーツが隠れてしまいます。最初のうちはキーボードで入力する際に必要なパーツを画面の上半分に配置しておくことをお勧めします。キーボードのパネルをクリックして,数字が入力できることを確認しておきましょう。

入力した価格と選択した割引率から金額を計算して表示

入力した価格と選択した割引率から金額を計算して表示

今回はパーツを配置して画面を作るところまでを勉強しました。次回は,入力した価格と選択した割引率から,実際に割引した金額を表示するところまでを学びます。

たとえば15,000円の20%割引の場合,15,000円×(1-0.2)=12,000円となります。このような計算をプログラムとして書いて実行し,結果を表示します。もちろんiPhoneアプリのプログラミング言語であるObjective-Cも登場します。ここからがiPhoneアプリ開発の核となる部分ですので,あせらずゆっくり勉強していきましょう。

第2回 iPhone SDKの入手と設定

[iPhoneアプリ開発] 投稿日時:2008/11/28(金) 00:00

目指せ!iPhoneアプリ開発エキスパート

第2回 iPhone SDKの入手と設定

今回は,実際のiPhoneアプリ開発に必要なSDKの入手方法,さらにその基本設定を中心に解説します。

iPhone SDKとは

第1回では,iPhoneの開発環境であるXcodeについて説明しました。そもそもXcodeは,基本的にMac向けのアプリケーションを開発するためのツールです。そこで,これを使ってiPhoneアプリを開発するために「iPhone SDK」という開発キットを追加でインストールする必要があります。iPhone SDKをインストールすることで,XcodeからCocoa Touchを使ったり,開発中のアプリをMac上で動かすための「iPhone シミューレータ」を使ったりできるようになります。

また,あらかじめXcodeがインストールされていない場合でも,iPhone SDKをインストールする際にXcodeを一緒にインストールすることができます。まずはiPhone SDKの入手から始めましょう。

iPhone SDKの導入

iPhone SDKはアップルのiPhone開発者向けWebサイトで配布されており,ダウンロードするためには「Apple ID」の登録(無料)が必要です。iTunesを使って音楽などをダウンロードしたことがある方や,オンラインのApple Storeで商品を購入したことがある方など,既にご自身のApple IDをお持ちの方はそれをそのまま使うことができます。持っていない方はこの機会にApple IDを取得しましょう。

Apple Developer Connectionへアクセス

まずは,アップルの開発者向けウェブサイトである,Apple Developer Connectionへアクセスします。

2008年11月現在のApple Develper Connection。左半分にiPhone Developer Program関連のリンクが集約されている

2008年11月現在のApple Develper Connection。左半分にiPhone Developer Program関連のリンクが集約されている

iPhone Developer Programの中から,iPhone SDKのダウンロードリンクを探してクリックします。

iPhone SDKのダウンロードページ。左側にダウンロードのリンクが用意されている

iPhone SDKのダウンロードページ。左側にダウンロードのリンクが用意されている

ここから先は英語のページになりますが,書かれていることのすべてを理解する必要はありません。あせらずに進みましょう。

Apple IDの登録

Apple IDの確認。すでに持っている場合は左側の「Log in」を,持っていない場合は右側の「Create Apple ID」をクリック

Apple IDの確認。すでに持っている場合は左側の「Log in」を,持っていない場合は右側の「Create Apple ID」をクリック

すでに持っているApple IDを利用する場合は Log in(ログイン)を,新しくApple IDを作成する場合は Create Apple ID(Apple IDの作成)をクリックします。

必要事項の記入例。取得済みのApple IDを使った場合は情報が不足している項目のみが記入の対象となる

必要事項の記入例。取得済みのApple IDを使った場合は情報が不足している項目のみが記入の対象となる

必要事項を入力します。Apple IDを持っている場合でも,連絡先などの情報が追加で必要な場合があります。取得済みのApple IDで日本語の名前などを使用している場合,その部分が「??」などと表示される場合がありますが,気にせずに先へ進んでください。既存のApple IDでうまく登録できない場合は,新しいApple IDを作成しましょう。Apple IDは通常メールアドレスを使いますが,すでに他のアカウントを取得している場合はメールアドレスではない任意の名前でもかまいません。

先に進むといくつかの質問と選択肢が用意されていますが,わかる範囲で回答してください。規約に同意(チェックを入れて「I Agree」をクリック)すると,iPhoneアプリ開発者としてのApple IDが仮登録されると同時に,登録したメールアドレスに確認メールが届きます。メールの本文中に「Download Free SDK」のリンクがありますので,クリックして登録を完了してください。

iPhone Dev Centerへログイン

無事登録が完了すると,登録したApple IDを使ってiPhone Dev Centerにログインできます。上記メールのリンクをクリックすると,ログインされた状態でこのページが開きます。

iPhone Dev Center(ログイン前の画面)。アプリ開発に必要なものが揃っているので,ブックマークしておくと便利

iPhone Dev Center(ログイン前の画面)。アプリ開発に必要なものが揃っているので,ブックマークしておくと便利

ログインできていない場合は,右上の「Log in」をクリックし,Apple IDとパスワードを入力してログインします。

iPhone SDKのダウンロード

ログインしたら,ページの中からiPhone SDKのダウンロードリンクを探し,クリックしてダウンロードしましょう。iPhone SDK for iPhone X.X(X.XはiPhone OSのバージョン)のようなリンクがそれです。iPhone SDKにはXcodeも含まれているため,それなりにサイズが大きくダウンロードに時間がかかります。他にもいくつかのリンクが用意されていますが,今回ダウンロードするものはこの1つだけです。

iPhone SDKのインストール

ダウンロードが完了すると,いよいよインストールです。ダウンロードしたイメージを開き,中にある「iPhone SDK.mkpg」をダブルクリックして実行します。

iPhone SDKの中身。mkpg形式のインストーラを使ってインストール

iPhone SDKの中身。mkpg形式のインストーラを使ってインストール

「iPhone SDK のインストール」が表示されたら,画面の指示に従って先に進みます。途中,インストールの種類を選択するステップがありますが,何も変更せずに「続ける」をクリックしてインストールを進めてください。Xcodeなど必要なツールがインストールされていない場合でもすべて一緒にインストールされますので安心してください。

インストールは成功しましたか? それではさっそく,Xcodeを起動してみましょう。

 

Xcodeを使ってアプリを作る

デスクトップのハードディスクアイコンをダブルクリックして開くと「Developer」というフォルダが見つかります。このフォルダにアプリ開発用のツールがまるごと入っています。Xcodeは,Developerフォルダの中にある「Applications」フォルダにあります。

Xcodeは,ハードディスクの Developer→Applications→Xcode.app にインストールされる

Xcodeは,ハードディスクの Developer→Applications→Xcode.app にインストールされる

Xcode.appをダブルクリックして,Xcodeを起動します。「Welcome to Xcode」というウインドウが開いたら,閉じてしまって構いません(「ヘルプ」→「Xcode ニュース」から再度表示できます)。

プロジェクトの作成

今回は,何もできない真っ白なアプリを起動するところまでを試してみます。Xcodeのメニューから「ファイル」→「新規プロジェクト...」を選択します。

新規プロジェクトの作成

新規プロジェクトの作成

ここで作るプロジェクトとは,1つのアプリを作るためのファイル群のことを指します。つまり,アプリ単位でプロジェクトを作るという作業が必要です。

テンプレートの選択と保存

テンプレートの中から「View-Based Application」を選択

テンプレートの中から「View-Based Application」を選択

新規プロジェクトのウインドウが表示されたら,左側で「iPhone OS」→「Application」が選択されていることを確認します。右側にいくつかのテンプレート(アプリの土台となるもの)が表示されますので,ここでは「View-Based Application」を選び,右下の「選択...」をクリックします。

プロジェクトに名前をつけて保存する。ファイル名に反映されるので日本語は使わないほうがよい

プロジェクトに名前をつけて保存する。ファイル名に反映されるので日本語は使わないほうがよい

プロジェクトを保存するために名前をつけます。ここでつけた名前がそのままファイル名などに反映されるので,名前からアプリが連想できるようなものが良いでしょう。アプリ自体の名前はこれとは別に設定するので,ここでつける名前は「開発コードネーム」に相当すると考えてください。保存場所は好きな場所を選んでください。

Xcode(3.1.2)のメインウィンドウ。「ビルドして進行」を押すとアプリが作られ起動する

Xcode(3.1.2)のメインウィンドウ。「ビルドして進行」を押すとアプリが作られ起動する

保存が完了すると,Xcodeのメインウインドウが開きます。ここでは,アプリを構成するファイルを閲覧したり,開いて編集したり,パーツを組み合わせてアプリの画面を構成するための「Interface Builder」を起動したり,アプリをiPhoneで実行できる形に組み立てて起動したりと,様々な作業を行います。

アプリのビルドと実行

ではさっそく,付属の「iPhone シミュレータ」を使ってアプリを動かしてみましょう。左上の「概要」の部分で,「Simulator ~」が選択されていることを確認してください。Simulatorに続く数字は,iPhone OSのバージョン番号です。複数ある場合は最も新しい(番号が大きい)ものを選んでおきましょう。準備が整ったら「ビルドして進行」をクリックしてしばらく待ちます。開発中のアプリをiPhoneで実行できる形に組み立てることを「ビルド」と呼びます。ビルドが成功すると,自動的にiPhone シミュレータが起動してアプリが表示されます。

iPhone シミュレータ (2.2) が動いている様子。実際のiPhoneとほぼ同等の操作が行える

iPhone シミュレータ (2.2) が動いている様子。実際のiPhoneとほぼ同等の操作が行える

iPhoneアプリ開発へ

いかがでしょう。今回はまだ何も手を加えていない,いわゆる「空のアプリ」なので当然何の操作もできませんが,ボタンひとつでiPhoneそっくりの画面が立ち上がって,その中でアプリが動いてしまうのは少し驚きではないでしょうか。

さて,次回からはいよいよ画面上にパーツを配置し,実際にiPhoneアプリを作っていきます。App Storeですでにリリースされている「バーゲン教師」をベースにアプリの作り方を解説していきますので,持っていない方はぜひApp Storeからダウンロードしてみてください。

iPhoneアプリ「バーゲン教師」開発中の画面

iPhoneアプリ「バーゲン教師」開発中の画面

 

第1回 プログラマのためのiPhone基本仕様の紹介

[iPhoneアプリ開発] 投稿日時:2008/11/13(木) 00:00

目指せ!iPhoneアプリ開発エキスパート

第1回 プログラマのためのiPhone基本仕様の紹介

今回から始まった「目指せ!iPhoneアプリ開発エキスパート」。iPhoneアプリ開発について解説します。第1回目は,iPhoneアプリ開発をするうえで最初に知っておきたい基礎知識を中心にお届けします。

アプリ開発者から見るiPhoneの特色

iPhoneはときおり「革新的なデバイスである」などという表現とともに紹介されることがあります。その言葉が表す通り,単なる「iPod付き携帯電話」にとどまらず,iPhoneは魅力的な特徴がたくさんあります。ここではアプリ開発者が特に意識するであろうiPhoneの特色を見てみましょう。

  • 携帯電話にはあたりまえの方向ボタンや数字キーがない
  • アプリ内で使われるボタンやスイッチなどのパーツが統一されている

限られたボタンしかない代わりに,本体のほぼ全面をタッチパネルとしたiPhoneでは,アプリ開発者は従来のようにボタンの種類や数に制約を受けることなくインターフェースを設計することができます。好きなときに,好きな形のボタンを,好きな場所に配置することができるのです。またボタンだけでなく,スイッチやスライダーといったタッチパネルにはもってこいのパーツも利用することができるようになったのです。

ボタンをはじめとするこれらユーザが操作するパーツは,あらかじめ用意されているものから選択することができます。もちろんこれらを使わずに,独自の形状,独自の操作ができるパーツを自分で作ることもできます。しかし,あらかじめ用意されている標準のパーツを活用することによって,統一感のあるユーザインターフェースを作ることができるだけでなく,ユーザーは操作に戸惑うことなく慣れ親しんだパーツを直感的に使うことができる,というわけです。

iPhoneアプリを作るために必要なもの

なにはともあれ,まずはアプリを作るための道具が必要です。次のものを用意します。

  • Mac本体(インテルのCPUを搭載したもの)
  • Mac OS X v10.5(Leopard)以降

たったのこれだけ。開発に必要なソフトウェアは,アップルから無償で提供されています。つまり,そこそこ新しいMacがあればすぐにでも開発ができるというわけです(※1)。この他,iPhone 3GまたはiPod touch本体があると,作ったアプリを実際にインストールして動かすことができます(※2)。ただし,初代iPod touchで開発を行うためには,本体バージョン2.0以降へのソフトウェアアップデート(有償)が必要です。

※1)
iPhoneのデバイスに依存する機能(カメラや加速度センサー,GPSなど)を実際に動作させるためにはiPhone 3G本体が必要です。
※2)
作成したアプリを本体にインストールして動作させるには,iPhoneデベロッパプログラムへの登録(有料)が必要です。

Cocoa TouchとXcode

Cocoa Touch

冒頭で述べたように,iPhoneアプリの開発環境では画面を構成するためのいくつかのパーツがあらかじめ用意されています。実際の作業では,これらのパーツを画面上に配置し,それぞれのボタンが押されたり,文字が入力されたりした場合の処理を記述していきます。これを実現するのが「Cocoa Touch」と呼ばれるアプリケーションフレームワークです。iPhoneアプリ開発者は,Cocoa Touchを利用することにより,デバイスの特性や画面描画の仕組みを意識することなく,洗練されたインターフェースを画面上に簡単に構築することができるのです。

また,Cocoa Touchを使うことでiPhoneに備わる以下のような機能をアプリから簡単に利用できます。

カメラで写真を撮影
アプリからカメラを起動して,その場で写真を撮影して使うこともできます。またすでにカメラで撮影している写真やiPhoneに保存されている画像を使うことができます。
現在位置を取得
iPhoneは現在位置を取得する方法として,GPS,無線LAN,基地局の3つを使用します。アプリからはこれらを意識することなく,最適な方法で現在位置を取得することができます。

Xcode

Cocoa Touchを理解することは,iPhone開発を始める上でとても重要です。しかしながら,開発を進めていくうえでこのCocoa Touchの存在を強く意識することはありません。まるで矛盾しているように思えますが,その秘密を解く鍵は「Xcode」というツールが握っています。

XcodeはMac OS Xに付属する無償のソフトウェア開発環境で,iPhoneアプリの開発もこれを使って行います。画面上にボタンを配置したりアクションを設定したりする「Interface Builder」や,開発中のアプリをMac上で動作させるための「iPhone シミュレータ」もこれに含まれます。つまり,XcodeひとつでiPhoneアプリ開発のすべてが完結する,というわけです。

Xcodeを使ったiPhoneアプリ開発中の様子。画面構成をパーツを組み合わせて作っていく

Xcodeを使ったiPhoneアプリ開発中の様子。画面構成をパーツを組み合わせて作っていく

基本は配置されるパーツとアクションのマッピング

Cocoa Touchに話を戻しましょう。Cocoa Touchの基本は,iPhoneの画面上に配置されるパーツとそれに結び付けられたアクションです。ボタンが押されたらどういう文字を表示するのか,文字入力エリアに数字が入力されたらどういう計算をするのか,そういったユーザの操作を検出して何かの機能を呼び出す仕組みを,ハードウェアやOSなどの難しい仕組みを意識することなくXcode上のドラッグアンドドロップ操作で組み立てることができます。このようなとても直感的なアプリ開発環境を支えているのがCocoa Touchの存在であると言えます。

ここで述べた以外にも,Cocoa Touchで実現できる魅力的な機能は山ほどあります。まるで宝探しのようにこれらの機能を探していく感覚は,iPhoneアプリ開発の楽しみの1つと言えるでしょう。

Objective-Cという言語

パーツとそれに紐づくアクションを選択したら,次はアクションの中身,すなわちiPhoneにどういう動作をさせるのかをプログラミングしなければなりません。ここで登場するのが,Objective-Cというプログラミング言語です。iPhoneの開発には基本的にこのObjective-Cを用います。

新しいプログラミング言語に触れるには,それなりの勇気が必要かもしれません。しかし,Objective-CはC言語の拡張であるがゆえにC言語と共通している部分が多く,さらにCocoa Touchにおいて自分の手で書く必要のあるコードは限定的で,とても簡単なものです。過去にC言語やそれに似たプログラミング言語に触れたことがある方ならば,最初はすんなりと入っていけることでしょう。より詳細なObjective-Cの言語仕様を学ぶことは,それなりにiPhoneアプリ開発の経験を積んでからでも遅くはありません。

いざ,iPhoneアプリへの第一歩

道具さえ揃ってしまえば,何もおそれることはありません。無料で提供されている開発ツールを使えば,とても簡単にiPhoneアプリを作ることができると同時に,iPhoneのフレームワークであるCocoa Touchや,開発言語であるObjective-Cを学ぶことができます。

まずは手のひらサイズのデバイスで,自分で作ったアプリが動く楽しさを味わってみて下さい。iPhoneアプリ開発をこれから初める人に必要なものは,知識ではなくiPhoneアプリを作ることの楽しさを実感すること,そしてアプリ作者のちょっとしたアイデアとセンスなのです。

<< 2024年4月  >>

Sun Mon Tue Wed Thu Fri Sat
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        

ブログテーマ