下面的代码通过3个简单的步骤突出显示问题:
1)提取时刻
2)缓存时刻本地标识符
3)获取带有标识符的时刻:失败(在设备上,iOS 8.2)
- ( void )momentLocalIdTest
{
PHFetchResult * fetchResult;
PHAssetCollection * moment;
NSString * localIdentifier;
fetchResult = [ PHAssetCollection fetchMomentsWithOptions: nil ];
if( fetchResult.count == 0 )
return;
moment = fetchResult.firstObject;
localIdentifier = moment.localIdentifier;
fetchResult = [ PHAssetCollection fetchAssetCollectionsWithLocalIdentifiers: @[ localIdentifier ] options: nil ];
if( fetchResult.count == 0 )
NSLog( @"AssetCollection with localIdentifier %@ not found!!!", localIdentifier );
}
我是不是误解了什么?看起来很简单...
任何帮助感激不尽!
2条答案
按热度按时间ekqde3dh1#
我也遇到了同样的问题,找不出这段代码有什么问题。我认为这段API只是简单明了地被破坏了(至少从8. 0到8. 4)
下面是一个变通方案代码;基本上必须从标识符重新生成PHAssetCollection示例
e0bqpujr2#