PHCachingImageManager为iCloud图像返回NSError

时间:2015-09-25 14:10:44

标签: ios caching photosframework

我有一个应用程序,我从iDevice中检索并显示图像。我使用以下代码:

PHImageRequestOptions *options = [[PHImageRequestOptions alloc] init];
options.resizeMode = PHImageRequestOptionsResizeModeNone;
options.deliveryMode = PHImageRequestOptionsDeliveryModeHighQualityFormat;
options.networkAccessAllowed = YES;

PHCachingImageManager *manager = [[PHCachingImageManager alloc] init];
[manager requestImageForAsset:asset
                   targetSize:CGSizeMake(asset.pixelHeight, asset.pixelWidth)
                  contentMode:PHImageContentModeAspectFit
                      options:options
                resultHandler:^(UIImage *result, NSDictionary *info) {
                   // Do something with the result
                }];

我的问题是,当我试图检索的图像不在用户的设备上,但仅在iCloud上(设置 - > iCloud - >照片 - >优化iPhone存储)时,requestImageForAsset:返回nil为结果和以下NSError:

NSError *   domain: @"NSCocoaErrorDomain" - code: 18446744073709551615

PHCachingImageManager的documentation表示:

  

当您需要单个资产的图像时,请致电   requestImageForAsset:的targetSize:contentMode:选项:resultHandler:   方法,并传递您在准备时使用的相同参数   资产。

     

如果您要求的图片是已准备好的图片,那么   PHCachingImageManager对象立即返回该图像。   否则,照片会根据需要准备图像并将其缓存以供日后使用   使用

所以理论上我的代码应该可行。可能导致这种情况的任何想法?

0 个答案:

没有答案