Копирование папки по сети - PullRequest
0 голосов
/ 07 января 2012

Я пишу приложение для копирования файлов и папок по сети на клиентский компьютер. Все остальное работает просто замечательно. Дело в том, что я не знаю, что делать с копированием файлов - я посмотрел на NSFileManager, но, похоже, для этого потребуется смонтировать сетевой диск. Моя цель - очень прозрачно смоделировать что-то вроде диалогового окна «Копировать файл» на удаленном рабочем столе. Любые идеи / помощь?

РЕДАКТИРОВАТЬ: выглядит как оболочка SCP, или команда SCP с NSTask может помочь мне. Все еще задаюсь вопросом, как, однако:

1 Ответ

1 голос
/ 07 января 2012

Немного неясно, хотите ли вы знать, как использовать NSTask или использовать в нем SCP.

Но вот простой пример использования NSTask.Каждый аргумент команды должен быть помещен в массив.так, например, команда для

/ bin / cp -R /Users/userName/Desktop/fooFolder/fooFile.foo / Users / suerName / Desktop / fooCopyToFolder

будет выполнена следующим образом

NSPipe *output;


        NSTask *task;
        task = [[NSTask alloc] init];



        NSString*   cpPath = @"/bin/cp";
        NSString* sourcePath =@"/Users/userName/Desktop/fooFolder/fooFile.foo";

       NSString* finalPath = @"/Users/suerName/Desktop/fooCopyToFolder";
        [task setLaunchPath:cpPath];



        [task setArguments:[NSArray arrayWithObjects:@"-R",sourcePath ,finalPath, nil]];
        output = [[NSPipe alloc] init];

        [task setStandardOutput:output];
        [task setStandardInput:[NSPipe pipe]];

        [task launch];
        [task waitUntilExit];

        int status = [task terminationStatus];

        if (status == 0)  {


            NSLog(@"task succeeded. %i",status);

        }   else {

            NSLog(@"task failed.%i",status);
            ;
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...