Top Banner
itok@itok_twit 2011.10.22 AssetsLibraryについて (iOS5対応版)
22

AssetsLibraryについて (iOS5対応版)

May 09, 2015

Download

Technology

Kei Ito

名古屋iPhone勉強会 #2 での発表内容です
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: AssetsLibraryについて (iOS5対応版)

itok@itok_twit2011.10.22

AssetsLibraryについて(iOS5対応版)

Page 2: AssetsLibraryについて (iOS5対応版)

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

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

Page 3: AssetsLibraryについて (iOS5対応版)

そら案内

Page 4: AssetsLibraryについて (iOS5対応版)

Book+

Page 5: AssetsLibraryについて (iOS5対応版)

SmartTub

Page 6: AssetsLibraryについて (iOS5対応版)

月読君

Page 7: AssetsLibraryについて (iOS5対応版)

PictShare

Page 8: AssetsLibraryについて (iOS5対応版)

iPicture

Page 9: AssetsLibraryについて (iOS5対応版)

AssetsLibraryについて

Page 10: AssetsLibraryについて (iOS5対応版)

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

AssetsLibraryとは

Page 11: AssetsLibraryについて (iOS5対応版)

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

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

ImagePickerとの違い

Page 12: AssetsLibraryについて (iOS5対応版)

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

Page 13: AssetsLibraryについて (iOS5対応版)

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

Assetsとは

Page 14: AssetsLibraryについて (iOS5対応版)

ALAssetsLibrary

ALAssetsGroup

ALAsset

ライブラリ本体

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

Asset

ALAssetRepresentation データ

構造

Page 15: AssetsLibraryについて (iOS5対応版)

ALAssetsLibrary ALAssetsGroup

ALAsset

group type

URL enumeration

ALAssetRepresentation

representation

構造

Page 16: AssetsLibraryについて (iOS5対応版)

•property(高速にアクセス)

•date

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

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

•location

•thumbnail(square: 75px)

•iOS5 : aspectRatioThumbnail追加

ALAsset

Page 17: AssetsLibraryについて (iOS5対応版)

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

•CGImage

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

•URL (assets-library://)

•iOS4 : 連番

•iOS5 : GUID

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

ALAssetRepresentation

Page 18: AssetsLibraryについて (iOS5対応版)

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

注意点

Page 19: AssetsLibraryについて (iOS5対応版)

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

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

Page 20: AssetsLibraryについて (iOS5対応版)

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

•writeModifiedImageDataToSavedPhotosAlbum:metadata:completionBlock

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

•EXIFあればdate propertyも保持

•setImageData:metadata:completionBlock

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

Page 21: AssetsLibraryについて (iOS5対応版)

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

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

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

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

Page 22: AssetsLibraryについて (iOS5対応版)

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

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