【发布时间】:2019-11-02 16:42:48
【问题描述】:
我正在尝试使用原始文件名共享PHAssetResource。此方法将资产资源保存到临时目录并从那里共享。从 iOS 13 开始,这一直报错:
let tempDirectory = NSTemporaryDirectory() as NSString
let partialPath = tempDirectory.appendingPathComponent(sentAssetResource.originalFilename)
let fileURL = URL(fileURLWithPath: partialPath)
let options = PHAssetResourceRequestOptions()
options.isNetworkAccessAllowed = true
PHAssetResourceManager.default().writeData(for: sentAssetResource, toFile: fileURL, options: options, completionHandler: { (error) in
if (error != nil) {
print (error?.localizedDescription)
return
}
DispatchQueue.main.async {
let activityViewController = UIActivityViewController(activityItems: [fileURL], applicationActivities: nil)
activityViewController.completionWithItemsHandler = {
(activity, success, items, error) in
if FileManager.default.fileExists(atPath: fileURL.path) {
try? FileManager.default.removeItem(atPath: fileURL.path)
}
}
self.present(activityViewController, animated: true, completion: {
})
}
})
收到的错误是:
The operation couldn't be completed.
(PHPhotosErrorDomain error -1.)
这里有什么问题?
我不得不切换到PHAssetResourceManager.default().requestData,但是这个共享没有正确的文件名。
【问题讨论】:
标签: ios swift xcode photo phasset