Objective c 有没有办法在Cocoa中强制自动弹出驱动器

Objective c 有没有办法在Cocoa中强制自动弹出驱动器,objective-c,macos,cocoa,Objective C,Macos,Cocoa,我想强制弹出Cocoa中的驱动器。我找到的方法如下: 我将使用命令弹出驱动器:hdiutil eject-force/Volumes/TRAVELDRIVE 然后,我将使用NSTask从Cocoa应用程序执行此命令终端。 我可以通过使用上述步骤来完成吗?如果你有最好的解决方案,请给我任何想法。提前感谢。您可以尝试BSD API,即 打开设备fd=Open/dev/disk1,仅限 并将弹出ioctl发送给它。查看/usr/include/dev/disk.h 不过,这可能会在不首先卸载卷的情况下

我想强制弹出Cocoa中的驱动器。我找到的方法如下:

我将使用命令弹出驱动器:hdiutil eject-force/Volumes/TRAVELDRIVE 然后,我将使用NSTask从Cocoa应用程序执行此命令终端。
我可以通过使用上述步骤来完成吗?如果你有最好的解决方案,请给我任何想法。提前感谢。

您可以尝试BSD API,即

打开设备fd=Open/dev/disk1,仅限

并将弹出ioctl发送给它。查看/usr/include/dev/disk.h

不过,这可能会在不首先卸载卷的情况下弹出设备,这会使设备处于不一致的状态


*使用I/O工具包或POSIX API或NSTask或AppleScript。
没有提供Objective-C API

你试过了吗?你这样做的时候发生了什么?谢谢,我会看看的。我能再问你一件事吗?在MAC OS上,我可以设置权限或采取任何措施阻止用户使用我的应用程序吗?我的意思是我想拒绝普通用户不删除我的应用程序。我可以这样做吗?Applescript将在沙盒应用程序中失败。还有NSTask。。。如果你说没有可用的api,那么该如何处理这个类呢?