AssetsLibraryについて (iOS5対応版)
-
Upload
kei-ito -
Category
Technology
-
view
7.640 -
download
1
description
Transcript of AssetsLibraryについて (iOS5対応版)
![Page 1: AssetsLibraryについて (iOS5対応版)](https://reader033.fdocument.pub/reader033/viewer/2022052321/554dcbaab4c905bd488b5493/html5/thumbnails/1.jpg)
itok@itok_twit2011.10.22
AssetsLibraryについて(iOS5対応版)
![Page 2: AssetsLibraryについて (iOS5対応版)](https://reader033.fdocument.pub/reader033/viewer/2022052321/554dcbaab4c905bd488b5493/html5/thumbnails/2.jpg)
自己紹介•いとうけい(いとーけー, itok, @itok_twit)
•京都在住•職業プログラマーで日曜プログラマー•作ったiPhoneアプリはたくさん
![Page 3: AssetsLibraryについて (iOS5対応版)](https://reader033.fdocument.pub/reader033/viewer/2022052321/554dcbaab4c905bd488b5493/html5/thumbnails/3.jpg)
そら案内
![Page 4: AssetsLibraryについて (iOS5対応版)](https://reader033.fdocument.pub/reader033/viewer/2022052321/554dcbaab4c905bd488b5493/html5/thumbnails/4.jpg)
Book+
![Page 5: AssetsLibraryについて (iOS5対応版)](https://reader033.fdocument.pub/reader033/viewer/2022052321/554dcbaab4c905bd488b5493/html5/thumbnails/5.jpg)
SmartTub
![Page 6: AssetsLibraryについて (iOS5対応版)](https://reader033.fdocument.pub/reader033/viewer/2022052321/554dcbaab4c905bd488b5493/html5/thumbnails/6.jpg)
月読君
![Page 7: AssetsLibraryについて (iOS5対応版)](https://reader033.fdocument.pub/reader033/viewer/2022052321/554dcbaab4c905bd488b5493/html5/thumbnails/7.jpg)
PictShare
![Page 8: AssetsLibraryについて (iOS5対応版)](https://reader033.fdocument.pub/reader033/viewer/2022052321/554dcbaab4c905bd488b5493/html5/thumbnails/8.jpg)
iPicture
![Page 9: AssetsLibraryについて (iOS5対応版)](https://reader033.fdocument.pub/reader033/viewer/2022052321/554dcbaab4c905bd488b5493/html5/thumbnails/9.jpg)
AssetsLibraryについて
![Page 10: AssetsLibraryについて (iOS5対応版)](https://reader033.fdocument.pub/reader033/viewer/2022052321/554dcbaab4c905bd488b5493/html5/thumbnails/10.jpg)
•iPhone/iPad内の写真や動画にアクセスするためのライブラリ
AssetsLibraryとは
![Page 11: AssetsLibraryについて (iOS5対応版)](https://reader033.fdocument.pub/reader033/viewer/2022052321/554dcbaab4c905bd488b5493/html5/thumbnails/11.jpg)
•EXIFなどのすべてのメタデータにアクセスできる
•一部のメタデータには高速にアクセスできる•ファイルの生データにアクセスできる
ImagePickerとの違い
![Page 12: AssetsLibraryについて (iOS5対応版)](https://reader033.fdocument.pub/reader033/viewer/2022052321/554dcbaab4c905bd488b5493/html5/thumbnails/12.jpg)
•独自のカメラロールっぽいものが作れる嬉しいこと
![Page 13: AssetsLibraryについて (iOS5対応版)](https://reader033.fdocument.pub/reader033/viewer/2022052321/554dcbaab4c905bd488b5493/html5/thumbnails/13.jpg)
•辞書的意味:資産•画像、音声、動画などの抽象的なデータオブジェクト
Assetsとは
![Page 14: AssetsLibraryについて (iOS5対応版)](https://reader033.fdocument.pub/reader033/viewer/2022052321/554dcbaab4c905bd488b5493/html5/thumbnails/14.jpg)
ALAssetsLibrary
ALAssetsGroup
ALAsset
ライブラリ本体
アルバムとかイベントとか
Asset
ALAssetRepresentation データ
構造
![Page 15: AssetsLibraryについて (iOS5対応版)](https://reader033.fdocument.pub/reader033/viewer/2022052321/554dcbaab4c905bd488b5493/html5/thumbnails/15.jpg)
ALAssetsLibrary ALAssetsGroup
ALAsset
group type
URL enumeration
ALAssetRepresentation
representation
構造
![Page 16: AssetsLibraryについて (iOS5対応版)](https://reader033.fdocument.pub/reader033/viewer/2022052321/554dcbaab4c905bd488b5493/html5/thumbnails/16.jpg)
•property(高速にアクセス)
•date
•カメラロールでの挙動•iOS4 : 保存日(≠撮影日)
•iOS5 : 撮影日(EXIFに情報があれば)
•location
•thumbnail(square: 75px)
•iOS5 : aspectRatioThumbnail追加
ALAsset
![Page 17: AssetsLibraryについて (iOS5対応版)](https://reader033.fdocument.pub/reader033/viewer/2022052321/554dcbaab4c905bd488b5493/html5/thumbnails/17.jpg)
•metadata(すべてのメタデータ)
•CGImage
•iOS5 : fullScreenImageが回転処理済みのものに
•URL (assets-library://)
•iOS4 : 連番
•iOS5 : GUID
•生データ•ファイル名 (iOS5)
ALAssetRepresentation
![Page 18: AssetsLibraryについて (iOS5対応版)](https://reader033.fdocument.pub/reader033/viewer/2022052321/554dcbaab4c905bd488b5493/html5/thumbnails/18.jpg)
•「位置情報サービス」への許可が必須•ALAssetsLibraryChangedNotificationの受信
注意点
![Page 19: AssetsLibraryについて (iOS5対応版)](https://reader033.fdocument.pub/reader033/viewer/2022052321/554dcbaab4c905bd488b5493/html5/thumbnails/19.jpg)
iOS5での主な変更点(1)•アルバム作成APIの追加
•アルバムの削除は不可•デバイス内で作成されたアルバムにしかassetを追加できない
![Page 20: AssetsLibraryについて (iOS5対応版)](https://reader033.fdocument.pub/reader033/viewer/2022052321/554dcbaab4c905bd488b5493/html5/thumbnails/20.jpg)
iOS5での主な変更点(2)•保存系APIの充実
•writeModifiedImageDataToSavedPhotosAlbum:metadata:completionBlock
•新しいassetを生成する(オリジナルのassetへはoriginalAssetで参照可能)
•EXIFあればdate propertyも保持
•setImageData:metadata:completionBlock
•writeModified...で生成されたassetをさらに変更する(オリジナルのassetに対しては無効っぽい←editable要確認)
![Page 21: AssetsLibraryについて (iOS5対応版)](https://reader033.fdocument.pub/reader033/viewer/2022052321/554dcbaab4c905bd488b5493/html5/thumbnails/21.jpg)
iOS5でわかっている問題•ALAssetsLibraryChangedNotificationが飛んでこない!
•writeImageDataToSavedPhotosAlbum:metadata:completeBlock: などのカメラロール保存APIをダミーで呼び出すと動き出す
•Aperture経由で写真を同期した場合にALAssetPropertyDateの値がおかしい
•回避方法はありません。ユーザに謝るだけ*いずれもAppleではバグとして認識済み
![Page 22: AssetsLibraryについて (iOS5対応版)](https://reader033.fdocument.pub/reader033/viewer/2022052321/554dcbaab4c905bd488b5493/html5/thumbnails/22.jpg)
まとめ•困った時はまずはiOS4プログラミングブック
•iOS5上ではまだ不安定なところもあるのでどんどんバグレポートしましょう!