gpt4 book ai didi

macos - 如何确定卷是否支持垃圾箱?

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

我正在编写一个将删除文件的应用程序。如果该卷支持“垃圾箱”文件夹,我想将文件移动到那里,否则只需删除它们。

这可能只是我的搜索魔力让我失败,但我找不到如何做到这一点。

这里的目的是做类似的事情(伪代码):

if (itemURL on volume that supports Trash)
use trashItemAtURL:resultingItemURL:error:
else
use removeItemAtURL:error:

我知道recycleURLs:completionHandler:,但是,例如对于 SMB 卷,它会弹出一个关于如何立即删除文件的对话框。我想单独处理这些文件,以便我可以更新显示。我想如果文件系统事件在 SMB 卷上工作,我可以使用 recycleURLs:completionHandler:,但我不确定它们是否有效。

Anyhoo..是否有一些我缺少的 API 或者一些我似乎找不到的推荐技术?

最佳答案

Apple 开发论坛的一位好心人找到了答案:

From the 10.8 Foundation release notes:

NSFileManager Trash APIs In Mac OS 10.8, NSFileManager has new methods to manage the Trash. The -[NSFileManager trashItemAtURL:resultingItemURL:error:] will attempt to move the item at the given URL to the trash, returning the resulting URL by reference. As part of this operation, the system may rename the file to avoid name conflicts; if so, the resultingItemURL will reflect this new name.

[snip]

Some volumes may not support a Trash folder, so these methods will report failure by returning NO or nil and an NSError with NSFeatureUnsupportedError. NSFeatureUnsupportedError is a new error code in the NSCocoaErrorDomain that indicates a failure to perform the requested operation because the feature is not supported, either because the file system lacks the feature, or required libraries are missing, or other similar reasons.

不知道为什么该文档从未出现在搜索中。

关于macos - 如何确定卷是否支持垃圾箱?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18479522/

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