我想知道是否有办法远程写入存储在我服务器上的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友好的吗?
答案 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(类似于浏览器上传的那些)