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,这样就能获取到图片了。