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 の新しい写真アプリでクラウド アルバムの画像を確認しましたが、すべて高品質 (640 x 640) です。
写真を使用して iPad で共有アルバムを表示すると、画像をクリックしたときにのみ画像が高画質になります。これは予期された動作です。
私を困惑させているのは、手動でクリックしたこれらすべての画像が、アプリを再実行すると高品質でインポートされることです!
これは IOS8 の PhotoKit のバグですか、それとも何か不足していますか?