2010年6月17日木曜日

iPhoneOS3.2→iOS4 API変更点まとめ

先日iOS4のAPI変更点ドキュメントを読んでいたのですが、せっかくなのでまとめて見ました。

◆追加フレームワーク一覧
 Accelerate, AssetsLibrary, CoreMedia, CoreMotion, CoreTelephony, CoreVideo, EventKit, EventKitUI, iAd, ImageIO, QuickLook
ドキュメントには追加と書いてないけどたぶんGameKitとMessageUIも対象

■Accelerateフレームワーク(新規)
DSPを使ったFFTなど高速演算系みたい

■AddressBookフレームワーク
APIにグループ機能が追加の模様

■AssetsLibraryフレームワーク(新規)
写真やビデオを管理するフレームワークのよう。これでフォトライブラリにアクセスできるのかな?

■AudioToolBoxフレームワーク
アプリ実行中にメール着信音などの音が割り込まれたことを検出するAPIが追加になった模様

■AudioUnitフレームワーク
APIの追加削除あり。詳細不明

■AVFoundationフレームワーク
 iMovieで使われていそうなクラスが大量追加されています。
 AVCaptureDeviceクラスにはAVCaptureTorchModeOnとかあって興味深いw

■CFNetworkフレームワーク
CFProxySupport, CFSocketStream クラス追加。プロキシやVoIP関係ですね

■CoreAudioフレームワーク
オーディオチャンネルのタグ種類にDTS関係、MPEG4AAC追加など

■CoreDataフレームワーク
OSとデバイスのバージョン番号の定義増えただけかな?

■CoreFoundationフレームワーク
CFCalendar, CFData, CFDateFormatter, CFLocale, CFMessagePort, CFPropertyList, CFRunLoop, CFSocket, CFString, CFStringEncodingExt, CFTimeZone
CFURL, CFURLEnumerator, 以上クラスに変更あり。その中でもCFURLクラスとかはかなり増強。

■CoreGraphicsフレームワーク
CGBitmapContext, CGColorSpace, CGContext CGPDFContext CGPath クラスに変更あり。
フォントのスムージングやサブピクセルの指定などが追加されている模様

■CoreLocationフレームワーク
CLRegionクラス追加。これは地域を登録しておいてユーザーがこのエリアに入ったらイベント発生するものらしい
あと、CLError, CLLocation, CLLocationManager, CLLocationManagerDelegate, に変更あり

■CoreMediaフレームワーク(新規)
ローレベルのAVメディア制御をするものらしい。バッファリング制御とかが充実している
HD動画形式もかなり細かく定義されている

■CoreMotionフレームワーク(新規)
加速度センサ、ジャイロセンサをもとにデバイスの動きを扱うものらしい。

■CoreTelephonyフレームワーク(新規)
電話に関する情報を扱うものらしい。キャリアが使いそうな。

■CoreTextフレームワーク
定数追加削除レベル

■CoreVideoフレームワーク(新規)
動画の形式(QuickTime, OpenGLほか)によらず動画のフレームを扱うことができるものらしい

■EventKitフレームワーク(新規)
カレンダーとイベント情報を扱うものらしい。カレンダーの予定とかいじれるみたい

■EventKitUIフレームワーク(新規)
カレンダーイベントを表示するためのビューコントローラ

■Foundationフレームワーク
多数変更あるけど割愛w

■GameKitフレームワーク(新規?)
これも新規じゃないのかな? ゲームセンターの実装用だと思われる。

■iAdフレームワーク(新規)
iAD。広告バナーを扱うものらしい。iAdってバナーなのか!

■ImageIOフレームワーク(新規)
詳細不明だけどサムネールを含む複数画像を扱うものらしい

■MapKitフレームワーク
アノテーションのドラッグ機能公開、エリアを示す円形アノテーション追加、マップ上の地点やエリアを扱う機能強化、オーバーレイ機能追加、図形描画機能追加、など

■MediaPlayerフレームワーク
テンポ情報などの追加。ストリーミング動画に埋め込まれた時間同期コンテンツ関係追加

■MessageUIフレームワーク(新規?)
これも新規?。SMSやメールのようなメッセージをやりとりする標準的なUIを提供するビューコントローラ

■OpenALフレームワーク
定数追加レベル。かな?

■OpenGLESフレームワーク
voidじゃなくてGLvoid型使うようになったっぽい。その他フレームバッファ関連とか追加。

■QuartzCoreフレームワーク
アニメーションにてスプライン補間が使えるようになったりとか。

■QuickLookフレームワーク(新規)
いろいろなフォーマット(iWorkやMSOffice)の文書を表示できる。

■Securityフレームワーク
小変更のようですが詳細不明。

■SystemConfigurationフレームワーク
Wifiネットワーク検出動作を扱うCaptiveNetworkクラス追加。など

■UIKitフレームワーク
・アクセシビリティ変更。UIActionSheet関係の定義ヘッダがUIAlert.h→UIActionSheet.hへ。同様にUIAlertView関係がUIAlertView.hへ。
・UIApplicationクラス。マルチタスク関係が追加されています。マルチタスク対応の胆です。
・UIBarButtonItemクラス:バーボタンのスタイルにUIBarButtonSystemItemPageCurl追加。
・UIBezierPathクラス:円弧追加。UIDataDetectorsクラス:アドレスとカレンダイベント追加。
・UIDeviceクラス:マルチタスクサポート有無の追加。UIEventクラス:演奏開始停止トラック前後などリモコン動作のイベント追加。など


以上! 簡単ながらiOS4 APIの変化点まとめでした!

ついでにiOS4対応のiTunes9.2の新機能について。iOS4との同期、iBooks対応、PDF文書管理、アプリフォルダ対応、バックアップ/同期の高速化、スクロールの高速化(なんのことだろう)

ゆうぞら