我正在研究一种基于用户所连接的无线网络自动安装网络卷的工具。安装的体积很容易:确定在安装之前网络共享是否存在
NSURL *volumeURL = /* The URL to the network volume */
// Attempt to mount the volume
FSVolumeRefNum volumeRefNum;
OSStatus error = FSMountServerVolumeSync((CFURLRef)volumeURL, NULL, NULL, NULL, &volumeRefNum, 0L);
然而,如果在没有volumeURL
网络共享(如果有人关闭或卸下了网络的硬盘驱动器,例如),查找器弹出一个错误消息,说明这一事实。我的目标是不会发生这种情况 - 我想尝试安装该卷,但如果安装失败,则会自动失败。
有没有人有关于如何做到这一点的任何提示?理想情况下,我想找到一种方法在尝试安装之前检查共享是否存在(以避免不必要的工作)。如果这是不可能的,那么告诉Finder不要显示其错误信息的方法也可以。
请注意,kSoftMount && kSuppressAllUI以及netfs_MountURLWithAuthenticationSync都来自PrivateFrameworks。 这意味着它可能适用于您当前的系统,但可能在将来(甚至点)版本中被打破。 – 2009-10-02 17:51:56
绝对正确。我只发布这个,因为没有办法用当前的公共API来做到这一点。 – nall 2009-10-02 18:01:08
大家好, 我被困在同样的问题了! 我们有一个更清洁的解决方案可用于解决这个问题吗? 我试过使用这个API,但我得到错误,“netfs_MountURLWithAuthenticationSync”是一个未知的标识符... – PRIME 2015-04-15 09:16:09