我正在研究一種基於用戶所連接的無線網絡自動安裝網絡卷的工具。安裝的體積很容易:確定在安裝之前網絡共享是否存在
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