我正在尝试在OS X App中挂载网络卷。

我使用不推荐使用的FSMountServerVolume函数使其正常工作。该文档说“要挂载网络卷,请改用NetFSMountURLAsync”。但是,当我尝试使用此功能时,出现以下错误消息:

dyld: lazy symbol binding failed: Symbol not found: _NetFSMountURLSync
Referenced from: /Users/username/Library/Developer/Xcode/DerivedData/AppName-ammmlfwhvlfxkdburfmzioformdn/Build/Products/Debug/AppName.app/Contents/MacOS/AppName
Expected in: /System/Library/Frameworks/NetFS.framework/Versions/A/NetFS

dyld: Symbol not found: _NetFSMountURLSync
Referenced from: /Users/username/Library/Developer/Xcode/DerivedData/AppName-ammmlfwhvlfxkdburfmzioformdn/Build/Products/Debug/AppName.app/Contents/MacOS/AppName
Expected in: /System/Library/Frameworks/NetFS.framework/Versions/A/NetFS


我忘记了什么吗?我导入了NetFS Framework。

最佳答案

好的,它看起来像10.8中引入的NetFSMountURLSync()等。

NetFS Changes

Added AsyncRequestID
Added NetFSMountURLAsync()
Added NetFSMountURLBlock
Added NetFSMountURLCancel()
Added NetFSMountURLSync()
Added #def kNAUIOptionAllowUI
Added #def kNAUIOptionForceUI
Added #def kNAUIOptionKey
Added #def kNAUIOptionNoUI
Added #def kNetFSMountAtMountDirKey


因此,您将不得不在10.7和更低版本中使用“旧方法”,并在10.8和更高版本中使用“新方法”。这意味着将NetFS.framework设置为可选(而非必需),并且需要执行各种运行时检查以查看需要使用哪个API。

09-07 13:26