1

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

0 に答える 0