![](/img/trans.png)
[英]How to create and save specific photo album using UIActivityViewController in iOS
[英]how to save photo in album with metadat using PHPhotolibrary in iOS9?
我已编写以下代码将照片保存在相册中。 在iOS8中可以正常工作,但在iOS9中则无法工作。
PHPhotoLibrary.sharedPhotoLibrary().performChanges({
let assetRequest = PHAssetChangeRequest.creationRequestForAssetFromImage(newImage!)
let assetPlaceholder = assetRequest.placeholderForCreatedAsset
let albumChangeRequest = PHAssetCollectionChangeRequest(forAssetCollection: album, assets: albumFetch)
albumChangeRequest!.addAssets([assetPlaceholder!])
}, completionHandler: { success, error in
print("added image to album")
print(error)
})
我得到了错误
“错误域= NSCocoaErrorDomain”
在iOS9中。
请给我一些建议以解决此问题。
这是我如何实现的未经测试的示例:
var assetPlaceholder:PHObjectPlaceholder!
PHPhotoLibrary.sharedPhotoLibrary().performChanges({
if #available(iOS 9.0, *) {
let newcreation:PHAssetCreationRequest = PHAssetCreationRequest.creationRequestForAsset()
newcreation.addResourceWithType(PHAssetResourceType.Photo, data:UIImageJPEGRepresentation(image, 1)!, options: nil)
assetPlaceholder = newcreation.placeholderForCreatedAsset
} else { // < ios 9
// Fallback on earlier versions
let assetChangeRequest = PHAssetChangeRequest.creationRequestForAssetFromImage(image)
assetPlaceholder = assetChangeRequest.placeholderForCreatedAsset
}
let albumChangeRequest = PHAssetCollectionChangeRequest(forAssetCollection: assetCollection)
albumChangeRequest!.addAssets([assetPlaceholder])
}, completionHandler: {(success:Bool, error:NSError?) in
print("added image to album")
print(error)
})
我这样做的部分原因是,我需要使用仅在ios 9中可用的功能,但已从本示例中删除了该功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.