我正在尝试获取资产的全尺寸图像数据,尤其是当照片在iCloud中时。我想要最新版本的图片。
如果图像是JPG,那一切都还可以,但如果它是PNG(例如屏幕截图)并且它在iCloud上,我没有收到数据也没有错误。如果PNG在设备上,我将获得全尺寸图像。要从iCloud Photo接收PNG图像,我需要请求原始版本(PHImageRequestOptionsVersionOriginal
),但我不想要JPG的原始版本。
有没有办法从iCloud请求JPG和PNG的最新版本?或者我做错了什么?
这是我请求图片的代码:
PHImageRequestOptions *options = [[PHImageRequestOptions alloc] init];
//options.version = PHImageRequestOptionsVersionOriginal;
options.synchronous = NO;
options.networkAccessAllowed = YES;
options.progressHandler = ^(double progress, NSError *error, BOOL *stop, NSDictionary *info) {
if (_progressViewController != nil) {
dispatch_async(dispatch_get_main_queue(), ^{
if (!displayingDownload) {
[_progressViewController show];
displayingDownload = true;
}
NSLog(@"progressing...%f", progress);
[_progressViewController setProgress:progress];
});
}
};
_lastRequest = [_imageManager requestImageDataForAsset:_processingAsset
options:options
resultHandler:^(NSData *imageData, NSString *dataUTI, UIImageOrientation orientation, NSDictionary *info)
{
_imageData = imageData;
NSError *error = (NSError*)[info objectForKey:PHImageErrorKey];
}];