せろひきの練習NEO

パソコン&スマートデバイス&サーバーテクノロジー

iPhone ベータSDK動かしてみました

先ごろ、次期iPhone OS 2.0でサポートされる予定のiPhone SDKのベータ版がリリースされたので、さっそくダウンロードして動かしてみました。(実はMacOS Xの動く環境もあるのです...)

iPhoneの衝撃ふたたび - SDKリリースで第3のプラットフォーム開花へ

http://journal.mycom.co.jp/articles/2008/03/08/iphoneroadmap/index.html

アップルiPhone SDK発表! ポイントのおさらい

http://www.gizmodo.jp/2008/03/iphone_sdk.html

iPhone ベータ SDK動かすにはMacOS X 10.5の動く環境が必要になります。またSDKのダウンロードを行うにはApple IDのユーザー登録を行う必要があり、そのユーザー情報を利用して以下のDeveloperサイトにログインすると、実際にSDKがダウンロードできます。(ログインしなくてもどのような情報があるかは見ることができます)

iPhone Dev Center

http://developer.apple.com/iphone/index.action

SDKは実際にはMacOS Xの標準開発環境であるXCODE3.1のベータ版として提供されます。XCODEで新規プロジェクトを開始すると、もともとはMacOS X用のさまざまなプロジェクトテンプレートからスタートするわけですが、それに加えてiPhone用の3つのタイプのアプリケーションテンプレートが使用可能になります。

- Cocoa Touch Application

- Cocoa Touch List

- Cocoa Touch Toolbar

Windows プログラマ的に解釈すると、これはMFCでViewウインドウタイプがGeneric/ListView/TreeView とかなっているのと同じ感覚です。(やっていることはぜんぜん違うのですが...)

実際にCocoa Touch Applicationを選択しビルドすると、本当に何もしないCocoaアプリケーションが出来上がりました。これをデバッグ実行すると、iPhoneエミュレータが起動します。

Iphonesdk1

iPhone エミュレータ画面

で、このあと作成したアプリが自動的に実行されるのですが、上部のステータス以外何も表示されていないウインドウが表示されるだけで、iPhoneiPod Touchも持っていない当方はこの後アプリの終了方法さえもわからなかったのでした。

とはいえiPod miniは持っていたので何とか類推し、上のスタート画面まで戻って(サンプルアプリはそっちのけで)いろいろといじってみました。また、ネットを検索した結果、optionキー同時押しでピンチ動作などが可能なことがわかりました。

Iphonesdk2

Safariブラウザ画面

で、Objective-C ソースコードも眺めてみたのですが、はっきりいって敷居が高いです、初心者がATLのソースコードを見ているような状態になります。うえの記事では2週間でOpenGLのアプリが...とか書いてありますが、普段Cocoaアプリケーションを書いているわけでもない開発者がControlを単純に使うだけのアプリでも相当苦労しそうです。

あと、本物のiPhoneは当然電話がかけられてメールも送れたりするわけですが、このエミュレータでは電話アプリやメーラは含まれていません。Windows Mobile 6 SDKでは現在電話/SMSエミュレータが動くのですが、現段階のiPhone SDKではそこまではサポートされていない、といったところです。

Iphonesdk3

↑アドレス帳から電話をかけようとすると"Shell Extension"エラーになる