>我正在制作一个应用程序,我想拍摄最新的照片并使用UI活动视图控制器共享它。出于某种原因,当我尝试分享照片时,出现错误
ImageIO: PNG zlib 错误
以下是相关代码:
let imgManager = PHImageManager.defaultManager()
var fetchOptions = PHFetchOptions()
let screenSize: CGSize = UIScreen.mainScreen().bounds.size
let targetSize = CGSizeMake(screenSize.width, screenSize.height)
var imagesArray: NSMutableArray = []
fetchOptions.sortDescriptors = [NSSortDescriptor(key:"creationDate", ascending: true)]
if let fetchResult = PHAsset.fetchAssetsWithMediaType(PHAssetMediaType.Image, options: fetchOptions) {
imgManager.requestImageForAsset(fetchResult.lastObject as PHAsset, targetSize: targetSize, contentMode: PHImageContentMode.AspectFill, options: nil, resultHandler: { (image, _) in
imagesArray.addObject(image)
})
}
let activityViewController = UIActivityViewController(
activityItems: imagesArray,//[textField.text as NSString],
applicationActivities: nil)
presentViewController(activityViewController, animated: true, completion: nil)
我不知道发生了什么以及错误来自哪里
我在iOS8应用程序上共享图像时遇到了同样的错误。我通过像这样同步获取图像来解决它。
PHImageRequestOptions *options = [[PHImageRequestOptions alloc]init];
options.synchronous = YES;
希望这有帮助。
我也遇到了同样的问题并尝试修复它。通常图像存储在iCloud中,您必须在共享之前下载它。