我已于2015年4月10日使用新信息更新了这篇文章......
我有一个应用程序,我将云相册的内容复制到IOS设备上的本地相册。我使用以下代码:
func fetchFullSizeImageForAsset(asset:PHAsset) -> (UIImage)? { // get the image from an asset ( could be nil )
var myImage:UIImage?
let requestOptions = PHImageRequestOptions()
requestOptions.synchronous = true
requestOptions.networkAccessAllowed = true
requestOptions.deliveryMode = .HighQualityFormat
let screenSize: CGSize = UIScreen.mainScreen().bounds.size
let targetSize = CGSizeMake(screenSize.width, screenSize.height)
let imageManager = PHImageManager()
imageManager.requestImageForAsset(asset as PHAsset, targetSize: targetSize, // targetSize: PHImageManagerMaximumSize, gives a null image !
contentMode: .AspectFit, options: requestOptions, resultHandler: {
(result, info) -> Void in
myImage = result
})
return myImage
}
我的想法是使用上面的代码获取myImage,并将其复制到新的本地相册。
这在某些时候给我一个低质量的图像(256 x 256),但有时我会得到一个高质量的图像(640 x 640)。 我在10.10.3的新照片应用程序中查看了Cloud Album图像,它们都是高质量的(640 x 640)
当我使用照片查看iPad上的共享相册时,我点击它们时图像才会变得高质量 - 这是预期的行为。
令我感到困惑的是,当我重新运行我的应用程序时,所有这些手动点击的图像然后以高质量导入!
这是IOS8上的PhotoKit中的错误还是我错过了什么?