2013-09-13 3 views
1

Просто начинайте с ObjC и Xcode.Когда мое приложение запускает сетевой том при запуске

Я бы хотел, чтобы мое приложение подключалось/монтировало сетевой том AFP после запуска (учетные данные уже сохранены в цепочке ключей компьютера). Я понимаю, что мне нужно поместить этот код здесь:

  • (аннулируются) applicationDidFinishLaunching: (NSNotification *) aNotification {

XXX

}

Кроме Im не совсем уверен, что нужно идти сюда ?!

Я узнал, что FSMountVolume теперь устарел, и он хочет видеть NSURL, за исключением того, что Im не уверен, как это реализовать - я так новичок, что мне трудно понять, как читать и реализовывать Xcode-документацию ...

Кто-нибудь знает быстрый и грязный способ сделать это?

+0

Я думаю DADiskMount() или DADiskMountWithArguments() из DiskArbitration Framework является назначенным преемником, но кроме некоторых заголовочных файлов там не появляется, чтобы быть много информации: HTTPS://developer.apple.com/library/mac/documentation/Darwin/Reference/DiscArbitrationFramework/_index.html –

ответ

0

Вот небольшая программа, которая должна монтировать накопитель. Он компилируется и работает на моем компьютере, но у меня нет пробелов в моем пути afp. Дайте мне знать, если это работает:

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

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

     NSURL * share = [NSURL URLWithString: @"afp://[email protected]_ip/share"]; 
     NSURL * path = [NSURL URLWithString: @"/path/to/mount/point/"]; 
     CFURLRef share2 = (__bridge CFURLRef) share; 
     CFURLRef path2 = (__bridge CFURLRef) path; 
     CFArrayRef mountpoints = NULL; 

     NetFSMountURLSync(share2, path2, NULL, NULL, NULL, NULL, &mountpoints); 
    } 
    return 0; 
} 
+0

Могу ли я просто поменять «smb» на «afp»? – AudibleScion

+0

Эй Богданы ... Это ошибка Im получают при попытке использовать предложение: Неопределенные символы для архитектуры x86_64: «_NetFSMountURLSync», ссылочное от: - [AppDelegate applicationDidFinishLaunching:] в AppDelegate.o л.д.: символ (-ы) не найден для архитектуры x86_64 clang: ошибка: команда компоновщика не удалась с кодом выхода 1 (используйте -v для вызова вызова) – AudibleScion

+0

Единственная инфраструктура, которую я импортировал в файл заголовка, является следующей: #import < Cocoa/Cocoa.h> (импортировано по умолчанию) #import (как вы предложили) Любые предложения? Нужно ли мне также импортировать CoreFoundation? – AudibleScion

Смежные вопросы