当我拖拽文件到我的macOS应用程序[sandbox] Failed to get a sandbox extension时,我得到了一个错误,当我设置App Sandbox值布尔值为no时,这是可以的,但是我想把我的应用程序放到应用商店,我必须设置App Sandbox是,我该怎么做?
class FYOpenDragFileView: NSView{
override func draggingEnded(_ sender: NSDraggingInfo) {
print("松手了")
setupWithActive(active: false)
}
override func draggingExited(_ sender: NSDraggingInfo?) {
isDraging = false
setupWithActive(active: false)
print("draggingExited 进去又出来")
}
override func updateDraggingItemsForDrag(_ sender: NSDraggingInfo?) {
guard let next = delegate else {
return;
}
next.fileDraging()
print("更新拖动文件")
}
override func performDragOperation(_ sender: NSDraggingInfo) -> Bool {
guard let items = sender.draggingPasteboard.pasteboardItems else{
return false
}
var datas = [Data]()
for i in 0..<items.count{
let item = items[i] .string(forType: .fileURL)
if item != nil {
// this have an error
//[sandbox] Failed to get a sandbox extension
let da = try? Data(contentsOf: URL(string: item!)!)
guard let next = da else {
continue
}
datas.append(next)
}
}
QiniuUploadManger.uploadImage(nil, data: datas)
return true
}
}发布于 2019-12-19 18:56:58
使用沙箱,你必须为你的应用程序设置适当的“权限”来接收拖放文件,这可能就是你收到这个错误的原因。
当您启用沙箱时,应该已经为您生成了授权文件。请参阅此Apple documentation for details。
https://stackoverflow.com/questions/59407186
复制相似问题