C的SMB卷挂载fsmountservervolumesync

C的SMB卷挂载fsmountservervolumesync

我试图用发现here的代码以编程方式安装该卷

编译时出现此错误。

Ld /Users/alex/Library/Developer/Xcode/DerivedData/SambaTestApp-bthesiirajzqwebkatfdkbgalpwc/Build/Products/Debug/SambaTestApp normal x86_64
    cd "/Users/alex/Documents/Xcode Projects/SambaTestApp"
    setenv MACOSX_DEPLOYMENT_TARGET 10.7
    /Developer/usr/bin/clang -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.7.sdk -L/Users/alex/Library/Developer/Xcode/DerivedData/SambaTestApp-bthesiirajzqwebkatfdkbgalpwc/Build/Products/Debug -F/Users/alex/Library/Developer/Xcode/DerivedData/SambaTestApp-bthesiirajzqwebkatfdkbgalpwc/Build/Products/Debug -filelist /Users/alex/Library/Developer/Xcode/DerivedData/SambaTestApp-bthesiirajzqwebkatfdkbgalpwc/Build/Intermediates/SambaTestApp.build/Debug/SambaTestApp.build/Objects-normal/x86_64/SambaTestApp.LinkFileList -mmacosx-version-min=10.7 -fobjc-arc -framework Foundation -o /Users/alex/Library/Developer/Xcode/DerivedData/SambaTestApp-bthesiirajzqwebkatfdkbgalpwc/Build/Products/Debug/SambaTestApp

Undefined symbols for architecture x86_64:
  "_FSMountServerVolumeSync", referenced from:
      _main in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我的代码是:
#import <Foundation/Foundation.h>

int main (int argc, const char * argv[])
{

    @autoreleasepool {

        NSString * user = @"user";
        NSString * password = @"pass";
        NSURL * url = [NSURL URLWithString: @"smb://lemon"];
        NSURL * mountDir = [NSURL URLWithString: @"/review"];
        OptionBits flags = 0;
        OSStatus err = FSMountServerVolumeSync (
                                                (__bridge CFURLRef) url,
                                                (__bridge CFURLRef) mountDir,
                                                (__bridge CFStringRef) user,
                                                (__bridge CFStringRef) password,
                                                NULL,
                                                flags);

        if(err != noErr)
            NSLog( @"some kind of error in FSMountServerVolumeSync - %d", err );
    }
    return 0;
}

最佳答案

您需要链接到CoreServices框架。

关于xcode - Objective-C的SMB卷挂载fsmountservervolumesync,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10521945/

10-11 15:36