フランスの開発者のための最初の投稿! rsync と Objective-C を使用して簡単な同期を作成しようとしています。だから私はそのようにNSTaskを使用しました:
NSTask *task = [[NSTask alloc] init];
[task setLaunchPath:@"/usr/bin/rsync"];
NSArray* args = [NSArray arrayWithObjects:@"-av", @"/Users/BiB1/Documents/test/", @"login@ftp.myserver.net:~/test/", nil];
NSDictionary* env = [NSDictionary dictionaryWithObject:<#(id)object#> forKey:<#(id)key#>
[task setArguments:args];
NSPipe *outPipe = [[NSPipe alloc] init];
[task setStandardOutput:outPipe];
[outPipe release];
[task launch];
NSData *data = [[outPipe fileHandleForReading] readDataToEndOfFile];
[task waitUntilExit];
int status = [task terminationStatus];
[task release];
if(status != 0)
{
NSDictionary *eDict = [NSDictionary dictionaryWithObject:@"Sync impossible" forKey:NSOSStatusErrorDomain];
NSError *outError = [NSError errorWithDomain:NSOSStatusErrorDomain code:0 userInfo:eDict];
NSLog(@"EDICT : %@",eDict);
NSLog(@"ERROR : %@",outError);
}
NSString *aString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
[self.textField setStringValue:aString];
[aString release];
ターミナルではコマンドは正常に機能しますが、パスワードを要求しています。NSTask では、この要求はありません。
だから私の質問は、必要な資格情報を取得する方法があるか、またはパスワードをパラメーターなどとして設定することは可能かということです。
事前に感謝します。
BiB1