2010-08-26 129 views
0

我想知道是否有遠程寫入存儲在我的服務器上的plist文件的方法。該文件所在的目錄具有寫訪問權限,但似乎無法推送新數據。繼承人我的代碼:遠程寫入.plist文件iPhone SDK

NSString *accountURL = [NSString stringWithFormat:@"http://www.mywebsite.com//%@.plist",txtUsername.text]; 
NSURL *url = [NSURL URLWithString:accountURL]; 
NSMutableDictionary *account = [[NSMutableDictionary alloc] initWithContentsOfURL:url]; 

    [account setObject:@"TEST" forKey:@"LastLogin"]; 
if ([account writeToURL:url atomically:NO]){ 
NSLog(@"saved"); 
}else{ 
NSLog(@"not saved"); 
} 

plist文件存在,因爲我可以從它讀取沒有問題。我無法寫入文件。

另一方面,如果賬戶將存儲在我的服務器上,這甚至是AppStore友好的嗎?

回答

2

你需要分析這個Web服務這樣的和需要實現解析器的委託方法

-(void)startParsingForLoginUser:(NSString*)UserName 
{ 
    NSString *urlString = [NSString stringWithFormat:@"http://www.mywebsite.com//%@.plist",UserName]]; 
    NSURL *xmlURL = [NSURL URLWithString:urlString]; 
    NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] initWithURL:xmlURL cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:30.0]autorelease]; 
    NSURLResponse *returnedResponse = nil; 
    NSError *returnedError = nil; 
    NSData *itemData = [NSURLConnection sendSynchronousRequest:request returningResponse:&returnedResponse error:&returnedError]; 
    xmlParser = [[NSXMLParser alloc] initWithData:itemData];   
    [xmlParser setDelegate:self]; 
    [xmlParser parse]; 
} 

然後您就可以在服務器上編寫plist文件。並且您可以使用解析方法(比如POST,PUT),也可以向服務器發送一個取決於您的同步請求。 希望這會幫助你。如果是這樣,請接受答案並投票給我。 謝謝n快樂編碼 Sabby ...........

1

只讀是容易的。一旦你開始寫一些東西,你就可以獲得服務器,應用程序,用戶的權限。

要解決您的問題,您需要創建一個Web服務來驗證用戶和應用程序,檢查權限並保存文件。通常,這將是一個服務器接受POST或從你的iPhone應用程序PUT(類似於瀏覽器上傳做)