Ale*_*rth 6 frameworks objective-c uiimage ios photosframework
我在这里找到了一个类似的问题: iOS 8(Swift)如何摆脱这个错误:ImageIO:PNG zlib错误?但是有一些差异.
我PHAsset从一个选择器中获取- 图像下载并正确显示(它使用PHCachingImageManager该类).
但是,当我尝试稍后从资产请求图像时:
[[PHImageManager defaultManager] requestImageForAsset:asset targetSize:AssetTargetSize
contentMode:PHImageContentModeAspectFit options:nil
resultHandler:^(UIImage * _Nullable result, NSDictionary * _Nullable info) {
if (result)
_image = result;
}
Run Code Online (Sandbox Code Playgroud)
的result变量是指向一个UIImage对象,但不是有效的-我不能把它变成NSData的也不我可以通过xcode的快速查找.
在日志中我只收到以下消息:仅此<Error>: ImageIO: PNG zlib error而已.
我尝试按照链接问题的建议使请求同步,但没有区别.
PHAsset照片应用程序和照片选择器中都可以查看指向的图像.
我们需要启用同步选项。
PHAsset *asset = array[i];
PHImageRequestOptions *options = [[PHImageRequestOptions alloc] init];
options.synchronous = YES;
PHImageManager *imageManager = [PHImageManager defaultManager];
[imageManager requestImageForAsset:asset targetSize:CGSizeMake(200, 200) contentMode:PHImageContentModeAspectFit options:options resultHandler:^(UIImage * _Nullable result, NSDictionary * _Nullable info) {
badge = (UIImage *)result;
}];
Run Code Online (Sandbox Code Playgroud)