IOS照片 - 使用Swift请求资产图像

时间:2015-04-09 22:00:07

标签: ipad swift ios8 photokit

我已于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中的错误还是我错过了什么?

0 个答案:

没有答案