我已经可以在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)
}
}
}
}
答案 0 :(得分:0)
做..必须把它包起来
item.startAccessingSecurityScopedResource()
和
item.stopAccessingSecurityScopedResource()