2
所以我目前使用下面的代碼檢出的SVN目錄:的iOS:檢查是否SVN結賬與NSTask成功
NSTask *task = [[NSTask alloc] init];
NSPipe *checkoutPipe = [[NSPipe alloc] init];
[task setLaunchPath:@"/usr/bin/svn"];
[task setArguments:[NSArray arrayWithObjects:@"checkout",SVN_URL_OF_PRJECT_DIR,DEST_DIR,@"--username",SVN_USER,@"--password",SVN_PASSWORD,nil]];
[task setStandardOutput:checkoutPipe];
[task launch];
NSFileHandle *file = [checkoutPipe fileHandleForReading];
NSData *data = [file readDataToEndOfFile];
NSString *checkoutResult = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"Result: %@",checkoutResult);
此代碼工作正常,但我想如果退房以編程方式檢查真的很成功嗎?如果結帳成功,NSLog打印「Checked out revision XY.
」,但是我觀察到它打印出即使文件實際上不能放入指定目錄(如果目的地路徑不好)。它將打印檢出修訂XY消息以及目的地目錄不好的消息。
所以我的問題是:什麼是測試如果退房完全確定,如何確保完成結賬過程後,檢查完成(我不知道一個好辦法,但不它是異步嗎?還是必須在bg線程中才能成爲異步?)。