PHFetchResult *smartAlbums = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeSmartAlbum subtype:PHAssetCollectionSubtypeSmartAlbumUserLibrary options:nil]; PHFetchResult *topLevelUserCollections = [PHCollectionList fetchTopLevelUserCollectionsWithOptions:nil];
"[PHCollectionList fetchTopLevelUserCollectionsWithOptions:nil]"의 경우 애플의 문서를 보면
"Retrieves collections from the root of the photo library’s hierarchy of user-created albums and folders."라고 씌여있다.
여기서 각 Asset을 가져오려면 아래와 같이 코드를 작성한다.
PHFetchResult *assetsFetchResult = [PHAsset fetchAssetsInAssetCollection:assetCollection options:nil];
만들어진 날짜를 가지고 정렬할 경우 options에 nil이 아닌 다음과 같이 코드를 작성한다.
PHFetchOptions *options = [[PHFetchOptions alloc] init]; options.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:YES]];
맨 위의 PHFetchResult 두 가지를 합하면 카메라 롤과 사용자가 만든 일반 앨범 리스트가 되고,
그 안에 있는 PHAssetCollection 를 PHAsset 클래스의 fetchAssetsInAssetCollection 메소드를 활용하면 PHAsset"을 꺼내올 수 있다.
애플의 샘플 예제는 SamplePhotosApp.zip 에서 확인한다.
'Mobile Application > iOS' 카테고리의 다른 글
[PhotoKit] PHAsset을 추출하기. (0) | 2015.03.05 |
---|---|
[AssetLibrary] iOS 8.1 이상에서 포토 스트림 지원하기. (0) | 2015.03.04 |
[AssetLibrary] 원본 이미지 가져오기. (0) | 2015.03.01 |
[PhotoKit] 카메라 롤과 일반 앨범 분류하기. (0) | 2015.02.27 |
[PonyDebugger] Server 설치하기 (0) | 2015.02.26 |