特に写真が 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];
}];