iPhone OS 3.2(iPad用OS)の特徴
iPadがリリースされたので、APIとかの話もできるようになったのでiPadについて調べたときのメモ(リリースされるまではNDAの中)。
iPhone OS 3.2の特徴
iPhone OS 3.2の特徴という公式文章があるので、それを読んだときの抜粋です。
- OS 3.2はiPad用でありiPhoneとiPod touchには対応していない
- ポップオーバーUI
- スプリットビュー
- UISpritViewContorllerクラスでコンテンツビューを2つ横に並べることができる。普通、マスター・詳細インターフェースを作ることができる。左ペインで1つのアイテムを選択するとその詳細が右ペインに表示されるなど(iPadの設定アプリ参照)。左右のペインは好きなビューコントローラーを指定できる。つまりiPhone版からの移植の場合は、iPhoneで作った画面(ビューコントローラのサブクラス)をがんがん、右ペインまたは左ペインに入れることができるわけだ。
- iPadの設定アプリは、左ペインがマスター、右ペインがドリルダウンしていく画面。逆にiPadのOS付属のメールアプリは左ペインがドリルダウンしていく画面で、右ペインがメインコンテンツ(メッセージ本文)。
- カスタムインプットビュー
- UIResponderクラスのインスタンスは、ファーストレスポンダになる(テキストフィールドなどにフォーカスイン)ときにカスタム入力やアクセサリビューを表示することができる。以前は、キーボードしかサポートしていなかった、また、テキストビューとテキストフィールドしかサポートしていなかった。
- インプットビューの上にカスタムアクセサリビューを表示できるようになった。アクセサリビューはキーボードが表示されたときに追加のボタンやコントロールを表示できる。APIとして追加されたので簡単にアニメーションさせながらその場所に表示できる。
- アクセサリビューはSafariでテキストフィールドにフォーカスが行ったときにその上に「次へ」などのバーとボタンが表示されるがそれがAPIとして簡単に作れるようになったということであろう。
- カスタムインプットビューは、独自キーボードが作れるようになったということだろう。ただしアプリケーション内でのキーボードのようでアプリケーションを超えたIMEは作れないようである。Apple製のiWorksは積極的にカスタムインプットビュー(カスタムキーボード)を使っているようだ
- 外部ディスプレイのサポート
- ジェスチャーレコグナイザー
- 進化したテキストサポート
- テキストインプットのサポート
- カスタムフォントのサポート
- ICU 正規表現のサポート
- ファイル共有のサポート
- ユーザデータファイルをアクセス可能にしたいアプリはファイル共有を使うことができる。
- ファイル共有はアプリフォルダの/DocumentsフォルダのデータをiTunesを通して公開できる。ユーザはiPadとコンピュータの間でファイルを移動できる。この機能は、同じデバイスのほかのアプリケーションにファイルの共有を許可するものではない。アプリ間でのデータやファイルの共有はペーストボード(クリップボード)やドキュメントインタラクションコントローラを使う。
- ファイル共有を使うには
- Info.plistにUIFileSharingEnabled=YESを追加する
- アプリのDocumentsフォルダにファイルを置く
- ユーザがiTunes9.1のアプリタブのファイル共有セクションを表示する
- ユーザはこのフォルダにファイルを置いたり、ファイルをコンピュータに移動したりできる
- ドキュメントのサポート
- アプリは、サポートしているファイルタイプをシステムに登録し、指定したファイルタイプのファイルが開かれるときに通知を受け取ることができる
- Info.plistファイルにCFBundleDocumentTypesキーを追加する。
- application:didFinishLaounchingWithOptions:メソッドをアプリデリゲートに実装し、UIApplicationLauchOptionsURLKeyを与えられたディクショナリから得てファイルを探す。
- UIKitフレームワークのUIDocumentInteractionContollerクラスを使うと他のアプリケーションにそのファイルを開いてもらうことができる
- PDFの生成
- Xcode
- APIの変更
- UIBezierPathクラスの追加
- UIScrollViewDelegateにズーム関連の通知追加
- モーダルビュー。UIViewControllerにmodalPresentationStyleプロパティ追加
- UIMenuControllerはカット、コピー、ペースト、すべて選択などのメニューにカスタムメニューアイテムを追加
- UITextCheckerクラスは、スペルチェックと単語補完
- これはうれしい。
- ポップオーバービュー
- UISplitViewControllerクラス追加
- ジェスチャーレコグナイザー追加
- カスタムインプットビュー追加
- 外部ディスプレイ追加
- PDF生成追加
- ドキュメントサポート追加
- メディアプレーヤー、Core Animation、MapKitフレームワーク、Foundationフレームワークは多少の変更があるようだがみていない。
英語のドキュメントを斜め読みしただけでAPIリファレンスの詳細は読んでないので、間違っている部分もあるかも。気づいたら指摘ください。
やー、iPad最高ですね。もう家のノートPCは使わないことにしました(開発をしない限り)。家のノートPCは主に妻が使っていたのですが、妻も「電源がすぐつくこと」「使うときに電源ケーブルをはずして使えること(充電しながら使う必要がない)」「ブラウザの起動が早いこと」「スクロールが早いこと」などで気に入っていて、PCいらね。って感じです。
私の思うこと。現状、iPadアプリが少ないですね。GoodReaderとi文庫が最強!って感じです。GoodReaderは、上記のドキュメントインタラクション機能によりアプリケーション間でのドキュメントの交換ができるようになり、また、DropboxやGoogleDocs連携、IMAPからダウンロード、Webからダウンロードなどがあるため、ダウンローダー兼ドキュメントフォルダって感じですね。i文庫はGoodReaderよりもPDFを見るのも高速でビジュアルが美しい。ええ、ScanSnapでPDF化した確率ロボティクス(570ページ)もiPadで読んでいます。