FSMountServerVolumeSync参数目标c

时间:2011-11-08 04:47:58

标签: objective-c xcode xcode4

我只是在使用Applescript后才开始使用Objective C,而且我似乎无法让FSMountServerVolumeSync工作。这似乎是一个完全初学者的问题,但如何将参数从变量传递给此动作

让我解释一下:
我想在此操作中使用名为 * username的变量并将其设置为用户名。我也想这样做 * url和url 。从绝对的初学者角度来看,有没有人可以向我展示如何设置它的样本? 我目前正在阅读教程等等,但即使我不完全理解我在做什么,我也想完成这部分代码。 ;)
提前致谢!

[编辑]这是我到目前为止所得到的:

- (IBAction)signin:(id)sender{

NSString * user = @"myusername";
NSString * password = @"mypassword";
NSURL * url = [NSURL URLWithString: @"smb://123.456.789.0"];
NSURL * mountDir = [NSURL URLWithString: @"/Students"];

OSStatus FSMountServerVolumeSync (
                                  CFURLRef url, 
                                  CFURLRef mountDir, 
                                  CFStringRef user, 
                                  CFStringRef password, 
                                  FSVolumeRefNum *null, 
                                  OptionBits flags);


} 

1 个答案:

答案 0 :(得分:2)

这些都不是愚蠢的问题。

请记住,CFStringRef和CFURLRef是免费桥接,这意味着Objective C等价物是NSString和NSURL。所有你需要做的就是施展。

- (IBAction)signin:(id)sender{

    NSString * user = @"myusername";
    NSString * password = @"mypassword";
    NSURL * url = [NSURL URLWithString: @"smb://123.456.789.0"];
    NSURL * mountDir = [NSURL URLWithString: @"/Students"];
    OptionBits flags = 0;
    OSStatus err = FSMountServerVolumeSync (
                                      (CFURLRef) url, 
                                      (CFURLRef) mountDir, 
                                      (CFStringRef) user, 
                                      (CFStringRef) password, 
                                      NULL, 
                                      flags);

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

看看我到目前为止的意思?

关于免费桥接类型的

Here is some Apple documentation