본문으로 바로가기

[PhotoKit] 카메라 롤과 일반 앨범 가져오기.

category Mobile Application/iOS 2015. 3. 1. 23:12
    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 에서 확인한다.