Macos OSX以编程方式安装DVD不会启动用户指定的应用程序
我使用磁盘仲裁框架来管理各种驱动器和磁盘 我已经注册了回调函数Macos OSX以编程方式安装DVD不会启动用户指定的应用程序,macos,cocoa,diskarbitration,cddvd,Macos,Cocoa,Diskarbitration,Cddvd,我使用磁盘仲裁框架来管理各种驱动器和磁盘 我已经注册了回调函数dadiskapearedcallback和DADiskDisappearCallback 对于usb驱动器来说,一切似乎都能完美工作,但对于CD/DVD,我面临着这个问题 加载CD/DVD后,我使用磁盘的BSDName卸载驱动器(DADiskUnmount())。 然后在对磁盘进行一些验证之后,我使用BSDName再次装载(DADiskMount())磁盘 当我再次装入CD/DVD时,默认应用程序设置为 系统首选项->硬件->CD和
dadiskapearedcallback
和DADiskDisappearCallback
对于usb驱动器来说,一切似乎都能完美工作,但对于CD/DVD,我面临着这个问题
加载CD/DVD后,我使用磁盘的BSDName卸载驱动器(DADiskUnmount()
)。
然后在对磁盘进行一些验证之后,我使用BSDName再次装载(DADiskMount()
)磁盘
当我再次装入CD/DVD时,默认应用程序设置为
系统首选项->硬件->CD和DVS
没有得到发射
例如,对于视频DVD-打开DVD播放机。
DVD播放机应该在这里发布
我如何克服这个问题
我仍然在寻找遇到的解决方案,“SystemUIServer”管理应该在插入CD/DVD时装载的应用程序。我可以在CD/DVD安装上触发该操作吗?
或者,这是在CD/DVD挂载上手动启动用户提供的应用程序的正确方法吗?您可以尝试使用NSWorkSpace对其进行搔痒 首先创建NSWorkspaceDidMountNotification类型的NSNotification 确保根据需要设置userInfo字典KVPs。(在NSWorkspace文档中) 最后,将通知发布到工作区通知中心 [NSWorkspace通知中心] 我怀疑这可能是个骗局 编辑
这似乎不起作用当您没有截获装载时,与以编程方式装载后的输出相比,
mount
命令的输出是什么?特别是,是否有重要的装载选项?如果是这样,您可能需要使用DADiskMountWithArguments()
,以便传递这些参数。另外,如果您使用umount
/mount
或磁盘实用程序卸载并重新装载卷,是否会启动用户指定的应用程序?