以编程方式安装OSX不会启动用户指定的应用程序

Har*_*ari 6 macos cocoa diskarbitration cddvd

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

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

对于usb驱动器,所有设备似乎都运行良好,但对于CD/DVD,我遇到了问题.

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

当我再次安装CD/DVD时,默认应用程序设置在

系统偏好 - >硬件 - > Cds和DVS

没有上手.

例如.对于视频DVD - 打开DVD播放器.DVD播放器应该在这里推出.

请提供任何克服此问题的建议.

谢谢

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

uch*_*aka 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】

我怀疑这可能就是窍门。

编辑 这似乎没有解决问题