1

次のコードがあり、EXC_BAD_ACCESS エラーが発生し続けます。このコードのより複雑なコピーを投稿しましたが、問題を次のコードに煮詰めました。

#import <Foundation/Foundation.h>
#include <NetFS/NetFS.h>

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

        NSURL * share = [NSURL URLWithString: @"smb://192.168.0.100/lib"];
        NSURL * path = [NSURL URLWithString: @"/Users/bogdan/Network/Library/"];
        CFURLRef share2 = (__bridge CFURLRef) share;
        CFURLRef path2 = (__bridge CFURLRef) path;

        NetFSMountURLSync(share2, path2, NULL, NULL, NULL, NULL, NULL);
    }
    return 0;
}

問題は「NetFSMountURLSync」行にありますが、何が問題なのかわかりません。私はそれを正しく使用していると思います。できる限りすべてのオプションを削除します。これを実行すると、共有がマウントされますが、その直後にエラーが発生します。

4

1 に答える 1

1

とった!どうやら、返されたマウントポイントを気にしなくても、変数を関数に渡してそこに格納できるようにする必要があるようです。このコードは機能します:

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

@autoreleasepool {

    NSURL * share = [NSURL URLWithString: @"smb://192.168.0.100/lib"];
    NSURL * path = [NSURL URLWithString: @"/Users/bogdan/Network/Library/"];
    CFURLRef share2 = (__bridge CFURLRef) share;
    CFURLRef path2 = (__bridge CFURLRef) path;
    CFArrayRef mountpoints = NULL;

    NetFSMountURLSync(share2, path2, NULL, NULL, NULL, NULL, &mountpoints);
}
return 0;
}
于 2013-09-26T03:20:23.620 に答える