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

2024-06-25

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

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

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

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

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

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


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

来自 10.8 Foundation 发行说明: https://developer.apple.com/library/mac/releasenotes/Cocoa/Foundation.html

NSFileManager 垃圾 API 在 Mac OS 10.8 中,NSFileManager 有新方法 管理垃圾箱。 -[NSFileManager rashItemAtURL:resultingItemURL:error:] 将尝试移动该项目 在给定的 URL 到垃圾箱,返回结果 URL 参考。作为此操作的一部分,系统可能会重命名该文件 避免名称冲突;如果是这样,resultingItemURL 将反映这一点 新名字。

[snip]

某些卷可能不支持垃圾文件夹,因此这些方法将 通过返回 NO 或 nil 和 NSError 来报告失败 NSFeatureUnsupportedError。 NSFeatureUnsupportedError 是一个新错误 NSCocoaErrorDomain 中的代码表示执行失败 请求的操作,因为该功能也不支持 因为文件系统缺少该功能,或者所需的库没有 失踪或其他类似原因。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何确定卷是否支持垃圾箱? 的相关文章

随机推荐

  • 使用 ELKI 对字符串数据进行聚类

    我需要使用 ELKI 基于编辑距离 编辑距离对大量字符串进行聚类 由于数据集太大 我想避免基于文件的预计算距离矩阵 我怎么能够 a 从文件 仅 标签 加载 ELKI 中的字符串数据 b 实现访问标签的距离函数 扩展 AbstractDBID
  • 在 Web.Scotty 中使用 StateT

    我正在尝试制作一个愚蠢的网络服务器 将数据存储为State 我在用着Web Scotty http hackage haskell org package scotty 我之前用过 ReaderT 和 scotty 来访问配置 https
  • 如何删除“其他用户”可安装触发器?

    有没有办法删除 其他用户 可安装的触发器 足够幸运地猜测要删除哪个用户只会显示他们的触发器已禁用 但仍然需要您登录他们的 Gmail 才能删除它 当您是电子表格的 所有者 时 这有点令人担忧 您无法删除其他用户的触发器 脚本的触发器与用户的
  • 对不同记录进行 PIVOT 查询

    我有下表 Id Code percentage name name1 activity 1 Prashant 43 43 James James Running 1 Prashant 70 43 Sam Sam Cooking 1 Pras
  • JQuery 移动表单在首次查看后丢失格式

    我在 JQuery mobile 中有一个页面 其中包含一个表单 该表单同时具有静态元素 在 html 中定义 和动态元素 在运行时通过脚本创建 我第一次访问我的页面时 它使用 JQuery 移动格式正确呈现 如果我回去 然后再次打开表单
  • Android MVVM startActivity 最佳实践

    我正在使用 MVVM 和 DataBinding 构建 Android 应用程序 我的 ViewModel 中有一个启动 Activity 的函数 在 ViewModel 中进行 onClick 调用可以吗 像这样 public class
  • C# 到 MySQL 服务器的 SSH 隧道

    我正在尝试编写一个简单的程序来连接到只能通过 SSH 连接的 MySQL 远程服务器 它报告 SSH 连接并且端口转发 但随后声明它无法连接到任何指定的主机 我这个配置错了吗 以下是控制台输出和代码 using System using S
  • 单击一个元素突出显示其他元素

    单击另一个元素时有什么方法可以更改元素的属性吗 例如 考虑这种方法 我有一个像这样的链接 a href 100 Click me a 然后接近它我有这个 span class clickTarget Important text span
  • 如何根据 PHP 代码或 URL 方向的变化激活 CSS 属性?

    我使用 PHP 数组更改网站中的语言lang 当用户单击链接来更改网站的语言时 我希望此链接保持 按下 或更改为不同的颜色 以便用户知道他 她所在的网站版本 在这种情况下如何激活 CSS 属性 通用 php
  • 使用 Office Automation 时检查挂起的 Office 进程

    有没有办法在使用 Office Automation 时检查 Microsoft Office 进程 即 Word Excel 是否挂起 另外 如果进程挂起 有没有办法终止它 首先我要说的是 我不建议在服务器上的服务中执行此操作 但我会尽力
  • 在Numpy数组中如何找到一个值的所有坐标

    如果我想找到所有 3D 数组中最大值的坐标 如何找到它们 到目前为止 这是我的代码 但它不起作用 我不明白为什么 s set elements np isnan table numbers table elements biggest fl
  • GDI+支持图形加速吗?

    我正在尝试使用 C 和 Win API 为 Windows 平台编写屏幕保护程序 为了渲染图形 我使用 GDI 但问题是渲染带有少量动画 淡入和淡出 的 png 变得非常 CPU 繁重 所以我想知道是否有办法为 GDI API 启用 GPU
  • 使用 NetworkStream.WriteAsync 检测错误

    如果我在调用后杀死我的服务器Login完成后 调用时不会引发异常stream WriteAsync data 0 data Count 已完成 并且返回的任务中没有错误指示 那么 我应该如何检测错误呢 当然 应该有一些迹象表明我试图通过已挂
  • 在 JavaScript 中查找内容是否具有当前网站 url

    我正在使用 TinyMCE 作为编辑器 我想执行移动验证和 URL 验证 什么是不允许的 描述中不允许输入手机号码 仅允许在描述框中输入相同的应用程序 URL 如果用户输入其他网站网址 则会引发验证错误 我使用下面的代码来验证移动设备和 u
  • 是否可以从父级覆盖 iFrame 中的 javascript?如果是这样怎么办?

    我在我们的一款触摸屏应用程序中使用 Telerik RadSpell 控件 我已经设法将其样式设置得恰到好处 但是该死的东西使用 window alert 和 window confirm 来提示用户是否想要保留更改等 我想禁用这些警报 而
  • 将 Linq to SQL 代码迁移到 .Net Core

    我们有一些使用 Linq to SQL 作为 ORM 的遗留代码 我们希望将此逻辑迁移到 Net Core 以便我们可以将其放置在 Linux 服务器上 据我所知 L2S 不包含在 Net Core 中 阻力最小的迁移路径是什么 如果您使用
  • 将巨大的 xml 参数传递给存储过程的最佳方法

    实际上我正在尝试通过一个巨大的Xml到我的存储过程 但我总是得到一个输出of memory exception 因为我想通过string其大小限制为 2G 那么这样的事情有没有办法呢 不要使用XmlDocument 将 DOM 完全加载到内
  • 在 WebView 中捕获 Flash 内存不足错误?

    当加载某些 swf文件到一个WebView 在 Flash 文件开始显示后的一瞬间 我的应用程序因 Signal 11 故障而关闭 我看不到任何异常 LogCat 转储示例位于此处 http pastebin com drx0ckT9 加载
  • 由于某种原因,reCaptcha 呈现在最右下角

    我的 ajax 表单带有 recaptcha 简化的代码
  • 如何确定卷是否支持垃圾箱?

    我正在编写一个将删除文件的应用程序 如果该卷支持 垃圾箱 文件夹 我想将文件移动到那里 否则只需删除它们 这可能只是我的搜索魔力让我失败 但我找不到如何做到这一点 这里的目的是做类似的事情 伪代码 if itemURL on volume