远程写入.plist文件iPhone SDK

时间:2010-08-26 04:09:39

标签: iphone ios nsmutabledictionary

我想知道是否有办法远程写入存储在我服务器上的plist文件。该文件所在的目录具有写访问权限,但我似乎无法推送新数据。继承我的代码:

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 个答案:

答案 0 :(得分: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,还可以将aSynchronousRequest发送到服务器,具体取决于您。

答案 1 :(得分:1)

只读很容易。一旦你开始写一些你获得的权限:服务器,应用程序,用户。

要解决您的问题,您需要创建一个Web服务,该服务将对用户和应用程序进行身份验证,检查权限并保存文件。通常它是一个服务器接受你的iPhone应用程序的POST或PUT(类似于浏览器上传的那些)