gpt4 book ai didi

macos - 我可以从沙盒 Mac 应用程序中删除桌面上的文件吗?

转载 作者:行者123 更新时间:2023-12-03 16:20:12 25 4
gpt4 key购买 nike

我可以让我的 Mac 应用程序读取桌面的内容,但每当我尝试删除文件时,它都会说我无权执行此操作。如果用户有权访问桌面,我是否应该能够删除文件?

  • 沙盒已开启
  • 文件访问权限设置为用户所选文件的读/写。
  • 安全范围的书签正在工作,因为我对这些文件具有读取权限,并且它只出现一次授权提示。

这是我用来删除的代码:

[[NSWorkspace sharedWorkspace] performFileOperation:NSWorkspaceRecycleOperation
source:desktopPath
destination:@""
files:self.filesToDelete
tag:nil];

我也尝试使用 fileManager 垃圾方法,但没有成功。

这是从 fileManager 垃圾方法返回的错误:

Error Domain=NSCocoaErrorDomain Code=513 "“file.png” couldn’t be moved to the trash because you don’t have permission to access it." UserInfo=0x60000026a980 {NSURL=file:///Users/me/Desktop/file.png, NSUserStringVariant=(
Trash
), NSUnderlyingError=0x600000257ca0 "The operation couldn’t be completed. (OSStatus error -5000.)"}

以及实际的垃圾方法调用:

[[NSFileManager defaultManager] trashItemAtURL:url resultingItemURL:nil error:&error];

最佳答案

除非用户通过打开的对话框选择了文件,或者您通过应用程序使用保存对话框保存了文件,否则您将无法在沙盒应用程序中将其删除。

有一些目录可供您执行所需操作,主要是/tmp 和沙箱容器中的目录。

https://developer.apple.com/library/mac/documentation/security/conceptual/AppSandboxDesignGuide/AppSandboxInDepth/AppSandboxInDepth.html

关于macos - 我可以从沙盒 Mac 应用程序中删除桌面上的文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26182391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com