iOS - initWithContentsOfURL, загружающий старую версию файла
Мое приложение загружает текстовые файлы с сервера, чтобы определить их содержимое. Есть одна проблема: я меняю файлы на сервере, редактирую их содержимое, но когда приложение загружает их, файлы не меняются. Загрузка файлов в браузере показывает, что изменения вступили в силу. Каким-то образом приложение обращается к более старой версии файла, который не должен существовать. Вот мой код:
-(NSArray *)writeFile:(NSString *)section :(NSString *)item{
NSString *fileName = [NSString stringWithFormat:@"http://myurl.com/%@/%@.txt", section, item];
fileName = [fileName stringByReplacingOccurrencesOfString:@" "
withString:@"%20"];
NSString *data = [[NSString alloc] initWithContentsOfURL: [NSURL URLWithString: fileName] encoding:NSUTF8StringEncoding error:nil];
NSLog(@"Read from file: %@", fileName);
NSLog(@"Content: %@", data);
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.txt", item]];
[data writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:nil];
NSString* content = [NSString stringWithContentsOfFile:path
encoding:NSUTF8StringEncoding
error:NULL];
NSArray * arrayData = [content componentsSeparatedByCharactersInSet:
[NSCharacterSet characterSetWithCharactersInString:@"\n\n"]
];
return arrayData;
}
Есть один файл, который состоит только из одного символа, числа, и ТО файл загружается правильно каждый раз. Остальные файлы больше с несколькими строками. Когда я перемещаю файлы на другой сервер, они загружают правильную версию файлов, но если я снова внесу изменения и попытаюсь повторно загрузить их из нового источника, изменения не будут отражены в загрузке (но все равно на сервере).
Я так растерялся, что не вижу причин, по которым он это сделает, если только он не сохранит какую-либо форму cookie. Идеи?
1 ответ
Это была ошибка телефона. Я использовал Note 3 в качестве беспроводной точки доступа, потому что расстояние до обычного Wi-Fi-соединения составляет 20 футов. Как только я подключился к традиционному Wi-Fi, он работал просто отлично.