2016-12-22 14 views
7

PHAssetCollectionPHCollectionListからアクセスしようとしています。主なアイデアは、私のiPhone(iOS 10.2)上の "People"スマートフォルダからすべてのコレクション(および内部の資産)を取得することです。 PHCollectionListを取得するには、現在のコードを使用しています:iOSフォトフレームワーク:「People」スマートフォルダから写真にアクセスすることは可能ですか?

PHFetchResult *listFetchResult = 
[PHCollectionList fetchCollectionListsWithType:PHCollectionListTypeSmartFolder 
             subtype:PHCollectionListSubtypeSmartFolderFaces 
             options:nil]; 
PHCollectionList *list = listFetchResult[0]; 
NSLog(@"title: %@",list.localizedTitle); 

これは期待どおりです。コンソール出力: "title:People"。 list.canContainAssetsNOを返し、list.canContainCollectionsYESを返します。
その後、私はlistから資産のコレクションを取得しようとしている:

PHFetchResult *collectionFetchResult = 
[PHCollection fetchCollectionsInCollectionList:list options:nil]; 

collectionFetchResult.count常に0を返します。しかし、私は写真アプリを開くと、私は「人」フォルダ内の10回のコレクションを参照してください。

フォトアプリ内の「人」スマートアルバムからコレクション(およびその中の写真)にアクセスできますか?

+0

「People」スマートフォルダは、同期した「Faces」アルバムと同じですか?その場合、 'albumSyncedFaces'サブタイプが必要です。 https://developer.apple.com/reference/photos/phassetcollectionsubtype/1614024-albumsyncedfaces – matt

+0

それはおそらく 'smartFolderFaces'サブタイプですか? https://developer.apple.com/reference/photos/phcollectionlistsubtype/1614056-smartfolderfaces – matt

+0

@matt私はすでに 'PHAssetCollectionSubtypeAlbumSyncedFaces'サブタイプを使用しています。上記の提供されたコードの書式が固定されています。 – somedev

答えて

6

「同期された顔」アルバムは、iPhoto for OS X(10.10以前)で定義されたアルバムをiTunes経由でiOSデバイスに同期する機能です。これらのアルバムの1つは、iPhotoの顔機能(現代のPhotosのPeople機能の精神的祖先)です。

iOS 10のフォトのピープル機能で作成された「アルバム」にアクセスするためのAPIはありません(瞬時のためのディート、シーン分類、およびiOS 10のその他のフォトアプリ機能の大部分)。あなたの最善の策はfile bugsです。

+1

説明をありがとう。 rdar:// 29797672(https://openradar.appspot.com/radar?id=4952697128091648)の問題を報告しました。 – somedev

関連する問題