拖动文件应用程序失败,出现257文件保护错误

问题描述 投票:0回答:1

我有用于Safari / Mail等的Drag and Drop工作(iOS 11),但是当我尝试从我的iCloud桌面拖放图像时(使用Files应用程序),我得到了couldn’t be opened because you don’t have permission to view it错误。

我认为Drag&Drop会在'drop'时在后台处理文件保护问题。如何访问我正在尝试与我的应用程序明确共享的文件?这是失败的代码

itemProvider.loadItem(forTypeIdentifier: kUTTypeImage as String, options: nil, completionHandler: { item, error in
      var data: Data? = nil

      if item != nil && (item is URL) {
        if let item = item as? URL {
          do {
            data = try Data(contentsOf: item)  // <--- fails 
          } catch {
            print(error.localizedDescription)
          }
        }
      }
 }
ios drag-and-drop nsdata nsfilemanager
1个回答
0
投票

不得不把它包起来

item.startAccessingSecurityScopedResource()

item.stopAccessingSecurityScopedResource()

© www.soinside.com 2019 - 2024. All rights reserved.