ios - 从文件应用程序拖放失败,出现 257 文件保护错误
问题描述
我已经为 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)
}
}
}
}
解决方案
做..不得不把它包裹起来
item.startAccessingSecurityScopedResource()
和
item.stopAccessingSecurityScopedResource()
推荐阅读
- android - 在 Android Studio 中以编程方式将文本添加到 TextView
- veins - 如何在静脉 5.0 中获得车辆计数?
- bash - 为什么“at”命令不将数据发送到指定的输出文件?
- python - 不清楚如何从 Statsmodels 中的多变量 ARX 中获取单个预测向量
- angular - 处理Angular中的浏览器刷新按钮
- css - 为什么 % 的最高值在 Google chrome 中没有响应,而在 Firefox 中却没有响应?
- python - Python,Pyinstaller,图像,声音
- powershell - 需要使用 powershell 选择“正确”的驱动程序
- node.js - 安装nodemon的问题
- r - 在 R 中使用环境和 ggplot2 进行故障排除