Objective c Saveguard防止在os x中删除设备

Objective c Saveguard防止在os x中删除设备,objective-c,macos,cocoa,nsfilemanager,file-writing,Objective C,Macos,Cocoa,Nsfilemanager,File Writing,OSX 10.10.3 MacBook Pro 15 Zoll 我目前正在编写一个mac应用程序,将文件写入已安装的设备。 每个人都知道在使用设备时不要(从物理上)断开设备的连接,但有时无论如何都会发生,所以我测试了我的应用程序的行为 我的应用程序表现合理(没有冻结等),但发生了一些不同的事情。 我的设备的路径是 '/Volumes/MyDevice' 在我重新连接设备后,在finder中有两个条目 '/Volumes/MyDevice' '/Volumes/MyDevice' 但其中一个

OSX 10.10.3 MacBook Pro 15 Zoll

我目前正在编写一个mac应用程序,将文件写入已安装的设备。 每个人都知道在使用设备时不要(从物理上)断开设备的连接,但有时无论如何都会发生,所以我测试了我的应用程序的行为

我的应用程序表现合理(没有冻结等),但发生了一些不同的事情。 我的设备的路径是

'/Volumes/MyDevice'
在我重新连接设备后,在finder中有两个条目

'/Volumes/MyDevice' 
'/Volumes/MyDevice'
但其中一个条目是空文件夹,另一个是挂载设备

当我用NSLog检查设备的url时,它说

'/Volumes/MyDevice%201'
我使用NSFileManager访问文件系统

有人知道这种行为意味着什么吗?
或者如果有一些针对不可装载设备的特殊策略?

一个好方法是注册到
[[NSWorkspace sharedWorkspace]notificationCenter]
并侦听设备通知,以便指向正确的设备。正常情况下,装载点不会被删除,因此,一个新的created@MatteoPacini是的,我正在收听
[[NSWorkspace sharedWorkspace]notificationCenter]
以检测设备。。。但是我认为需要一段时间,直到
NSWorkspaceDidUnmountNotification
停止我的NSFileManager的编写,我认为这就是问题所在@但为什么会有一个未安装设备的工件?只有在文件写入操作正在运行时(在我的情况下),才会发生这种情况。。。