как очистить все файлы, такие как файлы json и изображения, которые поставляются с приложением iOS при обновлении?

в моем приложении iOS есть несколько файлов json в комплекте, я обновил эти файлы и загрузил их в магазин, но при обновлении старые данные файлов json все еще отображаются, единственное решение, которое я нашел, это удалить приложение и установить его опять же, но это не очень хорошее решение для отправки всем пользователям

так есть ли способ программно или любым другим способом

PS: я пытался изменить имя файлов json, но он начал падать, потому что приложение не может видеть ресурс пути пакета с новым именем, вот мой код для вызова этих файлов

{
 NSString* aFileName = @"Models.json";

NSString * fileDocumentPath = [NSString stringWithFormat:@"%@/%@", [self getDocumentsDirectoryPath], aFileName];

NSFileManager * fileMngr = [NSFileManager defaultManager];
 NSString * file = [aFileName stringByReplacingOccurrencesOfString:@".json" withString:@""];

 NSString * sourcePath =  [[NSBundle mainBundle] pathForResource:file ofType:@"json"];

 NSError *error;
 [fileMngr copyItemAtPath:sourcePath toPath:fileDocumentPath error:&error];
}

-(NSString *) getDocumentsDirectoryPath {
    NSArray *pathArray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

    documentsDirectoryPath = [pathArray objectAtIndex:0];

    return documentsDirectoryPath;
}

person ghasso    schedule 08.05.2014    source источник


Ответы (2)


Вы можете сделать одну вещь: перед копированием файла просто проверьте, существует ли файл, если он существует, удалите файл, а затем скопируйте новый файл. Это должно решить вашу проблему.

Проверьте ссылку ниже для удаления файлов Как удалить файл в каталоге документов моего приложения?

Удалить указанный файл из каталога документов

С уважением, Анил

person IamAnil    schedule 08.05.2014
comment
отлично, но как я могу удалить файл? - person ghasso; 08.05.2014
comment
Чтобы удалить файл: stackoverflow.com/questions/2204916/ - person IamAnil; 08.05.2014

Свифт 3:

   func deleteFile(_ filePath:URL) {
        guard FileManager.default.fileExists(atPath: filePath.path) else {
            return
        }
        do {
            try FileManager.default.removeItem(atPath: filePath.path)
        } catch {
            print("Unable to delete file.")
        }
    }

    let fileURL = URL(fileURLWithPath: NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory, FileManager.SearchPathDomainMask.userDomainMask, true).first! + "namefile.json")
    deleteFile(fileURL)
person Giang    schedule 24.07.2017