2

ドキュメントに記載されているように、PHAsset はhidden (or isHidden)フェッチ キーをサポートしています。しかし、非表示のアセットを取得しようとすると、次のログでアプリがクラッシュします:

*** キャッチされない例外 'NSInvalidArgumentException' が原因でアプリを終了します。理由: 'フェッチ オプションでサポートされていない述語: hidden == 1'

サンプルコードは次のとおりです。

PHFetchOptions *options = [[PHFetchOptions alloc] init];
options.wantsIncrementalChangeDetails = YES;
options.includeAllBurstAssets = YES;
options.includeHiddenAssets = YES;
options.predicate = [NSPredicate predicateWithFormat:@"hidden = YES"];

PHFetchResult *fetchResult = [PHAsset fetchAssetsWithOptions:options];

return fetchResult;
4

1 に答える 1

1

最初の回答で質問を注意深く読んでいませんでした。おそらくこれが役立つでしょう

非表示のアルバムだけが必要な場合は、使用しないでください。サブタイプ:PHAssetCollectionSubtypeSmartAlbumAllHidden

PHFetchOptions *options = [[PHFetchOptions alloc] init];
options.wantsIncrementalChangeDetails = YES;
options.includeAllBurstAssets = YES;
options.includeHiddenAssets = YES;
options.predicate = [NSPredicate predicateWithFormat:@"mediaType == %d",PHAssetMediaTypeImage];

PHFetchResult *albums = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeSmartAlbum subtype:PHAssetCollectionSubtypeSmartAlbumAllHidden options:nil];
于 2015-06-17T10:25:38.517 に答える