/ / Copia delle cartelle sulla rete: cacao, rete, desktop remoto, nsfilemanager

Copia di una cartella su una rete: cacao, rete, desktop remoto, nsfilemanager

Sto scrivendo un'app per copiare file e cartelleattraverso la rete a un computer client. Tutto il resto funziona solo peachy. È che non so come fare per la copia dei file - ho guardato su NSFileManager, ma sembra che questo avrebbe bisogno del drive di rete montato. Il mio obiettivo è simulare qualcosa di simile alla finestra di dialogo Copia file di Remote Desktop, in modo molto trasparente.

EDIT: sembra un wrapper SCP, o il comando SCP con NSTask può aiutarmi. Ancora chiedendo come, però: [

risposte:

1 per risposta № 1

Non è chiaro se si vuole sapere come usare NSTask o usare SCP in esso.

Ma ecco un semplice esempio di utilizzo di NSTask. Ogni argomento per il comando deve essere inserito in una matrice. quindi per esempio il comando per

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

Sarebbe fatto in questo modo.

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);
;
}