assetslibraryについて (ios5対応版)

Post on 09-May-2015

7.639 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

名古屋iPhone勉強会 #2 での発表内容です

TRANSCRIPT

itok@itok_twit2011.10.22

AssetsLibraryについて(iOS5対応版)

自己紹介•いとうけい(いとーけー, itok, @itok_twit)

•京都在住•職業プログラマーで日曜プログラマー•作ったiPhoneアプリはたくさん

そら案内

Book+

SmartTub

月読君

PictShare

iPicture

AssetsLibraryについて

•iPhone/iPad内の写真や動画にアクセスするためのライブラリ

AssetsLibraryとは

•EXIFなどのすべてのメタデータにアクセスできる

•一部のメタデータには高速にアクセスできる•ファイルの生データにアクセスできる

ImagePickerとの違い

•独自のカメラロールっぽいものが作れる嬉しいこと

•辞書的意味:資産•画像、音声、動画などの抽象的なデータオブジェクト

Assetsとは

ALAssetsLibrary

ALAssetsGroup

ALAsset

ライブラリ本体

アルバムとかイベントとか

Asset

ALAssetRepresentation データ

構造

ALAssetsLibrary ALAssetsGroup

ALAsset

group type

URL enumeration

ALAssetRepresentation

representation

構造

•property(高速にアクセス)

•date

•カメラロールでの挙動•iOS4 : 保存日(≠撮影日)

•iOS5 : 撮影日(EXIFに情報があれば)

•location

•thumbnail(square: 75px)

•iOS5 : aspectRatioThumbnail追加

ALAsset

•metadata(すべてのメタデータ)

•CGImage

•iOS5 : fullScreenImageが回転処理済みのものに

•URL (assets-library://)

•iOS4 : 連番

•iOS5 : GUID

•生データ•ファイル名 (iOS5)

ALAssetRepresentation

•「位置情報サービス」への許可が必須•ALAssetsLibraryChangedNotificationの受信

注意点

iOS5での主な変更点(1)•アルバム作成APIの追加

•アルバムの削除は不可•デバイス内で作成されたアルバムにしかassetを追加できない

iOS5での主な変更点(2)•保存系APIの充実

•writeModifiedImageDataToSavedPhotosAlbum:metadata:completionBlock

•新しいassetを生成する(オリジナルのassetへはoriginalAssetで参照可能)

•EXIFあればdate propertyも保持

•setImageData:metadata:completionBlock

•writeModified...で生成されたassetをさらに変更する(オリジナルのassetに対しては無効っぽい←editable要確認)

iOS5でわかっている問題•ALAssetsLibraryChangedNotificationが飛んでこない!

•writeImageDataToSavedPhotosAlbum:metadata:completeBlock: などのカメラロール保存APIをダミーで呼び出すと動き出す

•Aperture経由で写真を同期した場合にALAssetPropertyDateの値がおかしい

•回避方法はありません。ユーザに謝るだけ*いずれもAppleではバグとして認識済み

まとめ•困った時はまずはiOS4プログラミングブック

•iOS5上ではまだ不安定なところもあるのでどんどんバグレポートしましょう!

top related