从文件拖放应用失败,出现257个文件保护错误

时间:2019-04-08 20:45:10

标签: ios drag-and-drop nsdata nsfilemanager

我已经可以在Safari / Mail等环境中使用拖放功能(iOS 11),但是当我尝试从iCloud桌面拖放图像(使用“文件”应用程序)时,我得到了couldn’t be opened because you don’t have permission to view it错误。

我认为拖放操作是在“删除”时间在后台处理文件保护问题的。如何访问要与我的应用程序明确共享的文件?这是失败的代码

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)
          }
        }
      }
 }

1 个答案:

答案 0 :(得分:0)

做..必须把它包起来

item.startAccessingSecurityScopedResource()

item.stopAccessingSecurityScopedResource()