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

时间:2014-01-20 12:54:22

标签: objective-c macos cocoa

我想强制在Cocoa中弹出驱动器。我找到了如下方式:

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

2 个答案:

答案 0 :(得分:0)

您可以尝试使用BSD API,即

打开设备(fd = open("/dev/disk1", O_RDONLY))

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

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

* Source...

答案 1 :(得分:0)

使用I / O Kit或POSIX API或NSTask或AppleScript。 没有提供Objective-C API。