iOS 9使用PHPhotoLibrary和swift 2使用自定义文件名保存照片

iOS 9使用PHPhotoLibrary和swift 2使用自定义文件名保存照片,swift,filenames,ios9,photo,Swift,Filenames,Ios9,Photo,我正在尝试使用iOS 9 PhaseSetCreationRequest与.addResourceWithType和Swift 2保存一张带有自定义文件名的照片。它正在保存照片,但没有使用我在PHAssetResourceCreationOptions选项中指定的文件名。我想使用一个自定义文件名,因为我需要与照片一起存储一个自定义字符串,该字符串指示照片的“类型”。目前,我正在将“type”及其localIdentifier存储在一个核心数据存储中,但是,如果卸载了应用程序,那么核心数据存储也是

我正在尝试使用iOS 9 PhaseSetCreationRequest与.addResourceWithType和Swift 2保存一张带有自定义文件名的照片。它正在保存照片,但没有使用我在PHAssetResourceCreationOptions选项中指定的文件名。我想使用一个自定义文件名,因为我需要与照片一起存储一个自定义字符串,该字符串指示照片的“类型”。目前,我正在将“type”及其localIdentifier存储在一个核心数据存储中,但是,如果卸载了应用程序,那么核心数据存储也是如此,因此我正在寻找一个与照片保持一致的附加方法。 以下是我正在使用的代码:

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
var assetPlaceholder:PHObjectPlaceholder!
PHPhotoLibrary.sharedPhotoLibrary().performChanges({
如果可用(iOS 9.0,*){
let options=PHAssetResourceCreationOptions()
options.originalFilename=frameType+“”+origFilename
let newcreation:PHAssetCreationRequest=PHAssetCreationRequest.creationRequestForAsset()
newcreation.addResourceWithType(PHAssetResourceType.Photo,数据:UIImageJPEGresentation(图像,1)!,选项:选项)
assetPlaceholder=newcreation.Placeholder for CreatedAsset
}else{/
你找到解决方案了吗?我在Objective-C上也遇到了同样的问题…原始文件名没有被使用,创建的资产获得了一个新的文件名。对不起,没有,我还没有找到解决方案。我觉得这很对。什么是
frameType+““+origFilename
?它是否以
.jpg
结尾?