我正在尝试使用带有.addResourceWithType和Swift 2的iOS 9 PHAssetCreationRequest使用自定义文件名保存照片。它可以保存照片,但未使用我在PHAssetResourceCreationOptions选项中指定的文件名。我想使用自定义文件名,因为我需要在照片中存储一个自定义字符串,该字符串指示照片的“类型”。目前,我正在将“类型”及其localIdentifier存储在Core Data存储中,但是,如果卸载了该应用程序,Core Data存储也会被存储,因此我正在寻找照片中保留的其他方法。这是我正在使用的代码:
var assetPlaceholder:PHObjectPlaceholder!
PHPhotoLibrary.sharedPhotoLibrary().performChanges({
if #available(iOS 9.0, *) {
let options = PHAssetResourceCreationOptions()
options.originalFilename = frameType + "_" + origFilename
let newcreation:PHAssetCreationRequest = PHAssetCreationRequest.creationRequestForAsset()
newcreation.addResourceWithType(PHAssetResourceType.Photo, data:UIImageJPEGRepresentation(image, 1)!, options: options)
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
Run Code Online (Sandbox Code Playgroud)