PHImageRequestOptions *options = [[PHImageRequestOptions alloc] init];
// 同步获得图片, 只会返回1张图片
options.synchronous = YES;
options.resizeMode = PHImageRequestOptionsResizeModeFast;
options.deliveryMode = PHImageRequestOptionsDeliveryModeFastFormat;
[[PHImageManager defaultManager] requestImageForAsset:asset targetSize:CGSizeMake(200, 300) contentMode:PHImageContentModeAspectFill options:options resultHandler:^(UIImage * _Nullable result, NSDictionary * _Nullable info) {
}];
一般可以正常获取到图片。但是有时在手机系统相册中可以看到的图片,而自己开发的App想要浏览大图却获取不到图片。可能的原因有可能你的图片在iCloud上,怎么确定呢?可以打印一下resultHandler回调中的info,里面如果有PHImageResultIsInCloudKey = 1,那么你需要在options中设置一个字段networkAccessAllowed=YES,这样就能获取到图片了。