我想強制在Cocoa中彈出驅動器。我發現如下的方式:是否有辦法強制在Cocoa彈出驅動器
- 我將使用命令彈出驅動器:
hdiutil eject -force /Volumes/TRAVELDRIVE
- 然後,我將通過使用
NSTask
執行從可可應用程序這個命令端子。
我可以通過使用上述步驟來做到這一點嗎?如果你有最好的解決方案,請給我任何想法。提前致謝。
我想強制在Cocoa中彈出驅動器。我發現如下的方式:是否有辦法強制在Cocoa彈出驅動器
hdiutil eject -force /Volumes/TRAVELDRIVE
NSTask
執行從可可應用程序這個命令端子。我可以通過使用上述步驟來做到這一點嗎?如果你有最好的解決方案,請給我任何想法。提前致謝。
你可以嘗試BSD的API,即
打開設備(fd = open("/dev/disk1", O_RDONLY))
和發送彈出ioctl
它。請看/usr/include/dev/disk.h
。
這可能彈出的設備雖然沒有卸載量第一,這會使事情不一致的狀態...
謝謝,我會查看信息。 – user3214941
我可以再問你一件事嗎?在MAC OS上,我可以設置權限或執行任何操作來阻止用戶的應用程序?我的意思是我想拒絕正常用戶(不是管理員)刪除我的應用程序。我可以那樣做嗎? – user3214941
使用I/O Kit的或POSIX API或NSTask或AppleScript的。 沒有提供Objective-C API。
非常感謝。你可以示例代碼?沒事的。 – user3214941
Applescript將在沙盒應用程序中失敗。和NSTask ...如何彈出,你說沒有API可用,然後該怎麼處理這個類? –
他們都可以包裝管理卷的CLI工具。 – uchuugaka
你試過了嗎?你做了什麼事? –