Удаленно записать в файл .plist iPhone SDK - PullRequest
0 голосов
/ 26 августа 2010

Мне интересно, есть ли способ удаленной записи в файл 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 ]

2 голосов
/ 27 декабря 2010

Вам нужно проанализировать этот веб-сервис следующим образом и реализовать методы делегирования синтаксического анализатора.

-(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 голос
/ 26 августа 2010

Только для чтения легко.Как только вы приступаете к написанию чего-либо, вы получаете права доступа для: сервера, приложения, пользователя.

Чтобы решить вашу проблему, вам нужно создать веб-сервис, который будет аутентифицировать пользователя и приложение, проверить разрешения и сохранитьфайл.Обычно это сервер, принимающий POST или PUT из приложения iPhone (аналогично тому, что браузеры делают для загрузки)

...