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, он работал просто отлично.

Другие вопросы по тегам