6

我使用磁盘仲裁框架来管理各种驱动器和磁盘。

我已经注册了回调函数DADiskAppearedCallbackDADiskDisappearCallback.

对于 USB 驱动器,一切似乎都可以正常工作,但对于 CD/DVD,我遇到了问题。

加载 CD/DVD 后,我DADiskUnmount()使用磁盘的 BSDName 卸载()驱动器。然后在对磁盘进行一些验证后,我DADiskMount()使用 BSDName 再次安装()磁盘。

当我再次挂载 CD/DVD 时,在

系统偏好->硬件->Cds & DVSs

没有启动。

例如。对于视频 DVD - 打开 DVD 播放器。这里应该启动 DVD 播放器。

我该如何克服这个问题?

我仍在寻找遇到的解决方案,“SystemUIServer”管理应在插入 CD/DVD 时挂载的应用程序。我可以在 CD/DVD 安装上触发该操作吗?或者这是在 CD/DVD 挂载上手动启动用户提供的应用程序的正确方法吗?

4

1 回答 1

1

你可以试试用 NSWorkSpace 给它挠痒痒

https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSWorkspace_Class/index.html#//apple_ref/c/data/NSWorkspaceDidMountNotification

首先创建一个 NSWorkspaceDidMountNotification 类型的 NSNotification

请务必根据需要设置 userInfo 字典 KVP。(在 NSWorkspace 文档中)

最后,将通知发布到工作区通知中心【NSWorkspace notificationCenter】

我怀疑这可能是诀窍。

编辑 这似乎不起作用

于 2015-01-15T05:45:23.217 回答