我正在尝试实现查看屏幕截图。当我运行代码时,出现一些错误并且捕获失败。
这是我的代码:
func saveSelfAsImage() {
self.lockFocus()
let image = NSImage(data: self.dataWithPDF(inside: self.bounds))
self.unlockFocus()
let imageData = image!.tiffRepresentation
let fileManager = FileManager.default
let path = "/Users/wudi/Documents/image.png"
fileManager.createFile(atPath: path, contents: imageData, attributes: nil)
let fileURL = URL(fileURLWithPath: path)
NSWorkspace.shared.activateFileViewerSelecting([fileURL])
}
这是错误日志:
2018-11-29 06:44:10.645177+0800 Chapter3[2375:192235] [sandbox] Sandbox extension creation failed: client lacks entitlements? for path: [/Users/wudi/Documents/image.png] [/Users/wudi/Documents/image.png]
2018-11-29 06:44:10.645227+0800 Chapter3[2375:192235] [general] Sandbox extension data required immediately for flavor public.file-url, but failed to obtain.
2018-11-29 06:44:10.709833+0800 Chapter3[2375:192235] [sandbox] Sandbox extension creation failed: client lacks entitlements? for path: [/Users/wudi/Documents/image.png] [/Users/wudi/Documents/image.png]
日志显示客户端缺乏权利。但如何获得权利呢? 我用日志中的关键字搜索错误,但没有找到任何有用的东西。 有人遇到过类似的问题吗
问题解决了。 感谢 EI Tomato 和 Willeke 的帮助。
关闭应用程序沙箱或增加文件访问权限可以解决该问题。