ios - IOS - requestImageDataForAsset返回nil图像数据

这些我使用的选项:


 let options = PHImageRequestOptions()


 options.deliveryMode = .HighQualityFormat


 options.resizeMode = .None



我也尝试过将选项设置为nil,但是还是搞不定。


[PHImageResultIsInCloudKey: 0, 


 PHImageResultDeliveredImageFormatKey: 9999, 


 PHImageFileURLKey: file:///var/mobile/Media/DCIM/100APPLE/IMG_0052.JPG, 


 PHImageResultRequestIDKey: 84, 


 PHImageResultIsDegradedKey: 0, 


 PHImageResultWantedImageFormatKey: 9999, 


 PHImageResultIsPlaceholderKey: 0, 


 PHImageFileSandboxExtensionTokenKey: 


 64b47b046511a340c57aa1e3e6e07994c1a13853;00000000;00000000;0000001a;com.apple.app-sandbox.read;;00000000;00000000;0000000000000000;/private/var/mobile/Media/DCIM/100APPLE/IMG_0051.JPG]



我还尝试使用requestImageForAsset 得到了相同的结果,

任何帮助将十分感激。

时间:

我有一个类似的问题,尝试将PHImageRequestOptions对象上的networkAccessAllowed选项设置为yes,似乎可以解决该问题。

我有同样的问题,我认为PHImageRequestOptions类中有一个bug,所以我在下面代码中传递了nil,这对我有帮助。


 dispatch_semaphore_t sema = dispatch_semaphore_create(0);


 [[PHImageManager defaultManager] requestImageDataForAsset:asset options:nil resultHandler:^(NSData * _Nullable imageData, NSString * _Nullable dataUTI, UIImageOrientation orientation, NSDictionary * _Nullable info) {


 assetModel.size = imageData.length;


 NSString *filename = [asset valueForKey:@"filename"];


 assetModel.fileName = filename;


 dispatch_semaphore_signal(sema);


 }];


 dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);



...