swift 使用PHAssetCreationRequest包含.adjustment数据时出现问题

5cg8jx4n  于 11个月前  发布在  Swift
关注(0)|答案(1)|浏览(72)

我正在尝试使用PHAssetCreationRequest将图像资源添加到照片库。我可以添加照片,视频和现场照片,但我也试图包括调整数据(以AAE文件的形式)。
下面是我的代码(用于添加静态图像):

func createStillAssetOnAlbum(photoAsset: URL, adjustmentAssets: [URL], album: PHAssetCollection) {
    PHPhotoLibrary.shared().performChanges ({
        
        let creationRequest = PHAssetCreationRequest.forAsset()
        let placeHolderAsset = creationRequest.placeholderForCreatedAsset
        
        creationRequest.addResource(with: .photo, fileURL: photoAsset, options: nil)
        
        adjustmentAssets.forEach { adjustmentAsset in
            creationRequest.addResource(with: .adjustmentData, fileURL: adjustmentAsset, options: nil)
        }
        
        guard let albumChangeRequest = PHAssetCollectionChangeRequest(for: album) else {
            print("album change request has failed")
            return
        }
        albumChangeRequest.addAssets([placeHolderAsset] as NSArray)

    }, completionHandler: { success, error in
        if success {
            print("photo (and adjustments) saved successfully")
            self.importCount += 1
        }
        else if let e = error {
            print("error saving photo (and adjustment): \(photoAsset.lastPathComponent)")
            self.nonImportedImageCount += 1
        }
    })
}

我使用方法通过提供URL来添加资产。首先添加.photo资产类型,然后使用.adjustmentData资产类型添加与照片相关的任何AAE。
使用此代码,任何没有AAE的照片都可以导入,但代码无法导入具有AAE文件的照片。
谁能告诉我我可能做错了什么?我会很感激任何建议。非常感谢

ztyzrc3y

ztyzrc3y1#

尝试此操作时,您是否在控制台日志中看到任何错误?如果你使用数据API而不是url api,你会看到同样的失败吗?https://developer.apple.com/documentation/photokit/phassetcreationrequest/1622684-addresource

相关问题