2017-12-05 22 views
1

PHAsset을 사용하여 MacOS 포토 라이브러리의 모든 이미지를 구문 분석하고 싶습니다. 그러나 자산을 검색하는 마지막 줄, 맥 OS 프레임 워크를 사용할 수 없습니다 아래와 같은 난 단지 iOS 용 작업 찾을 모든 예제 :MacOS의 포토 라이브러리에서 모든 PHAssets을 얻는 방법

나는 맥 OS에서 사용한다 무엇 fetchAssets 명령
NSMutableArray *photos = [[NSMutableArray alloc] init]; 
    PHFetchOptions *allPhotosOptions = [[PHFetchOptions alloc] init]; 
    allPhotosOptions.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:YES]]; 

// Below compilation error as fetchAssetsWithMediaType is only on iOS framework 
    PHFetchResult *allPhotos = [PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeImage options:allPhotosOptions]; 

(버전 10.13), 그렇게 할 또 다른 방법이 있습니까?

답변

2

Photos 프레임 워크 또는 전체 프레임에 대한 읽기/쓰기 권한을 앱에 제공하는 프레임 워크의 주요 하위 집합은 macOS에서 사용할 수 없습니다.

사진 및 PhotosUI는 맥 OS에 존재하지만 특정 앱 확장 기능 지원 :

  • 사진 편집 확장. 사용자는 편집 모드에서 단일 애셋의 사진 앱에서 사진 앱을 호출하고 해당 애셋의 사진/동영상 데이터에 직접 액세스 할 수 있으므로 PHAsset 클래스도 사용하지 않습니다.
  • 사진 프로젝트 확장. 여기에는 자산 모음과 각각의 데이터를 선택적으로로드하는 것이 포함되어 있으므로 PHAsset/PHImageManager 시스템이 더 많이 존재합니다. 그러나 iOS에 비해 여전히 하위 집합이므로 (프로젝트 확장에 필요한 것, 예를 들어 해당 프로젝트의 애셋을 가져 오는 것과 같은), 독립형 앱이 아닌 앱 확장에서만 액세스 할 수 있습니다.

macOS에서 전체 포토 프레임 워크를 사용하려는 경우 가장 좋은 방법은 file a feature request with Apple입니다.