Сохранить базу данных sqlite после установки новой версии - PullRequest
0 голосов
/ 10 ноября 2010

Я создаю список дел для iphone и столкнулся с проблемой, связанной с обновлением версии.

Во время каждого процесса сборки и отладки я обнаружил, что все мои последние данные тестирования пропали. Это хорошо для разработки и тестирования, но как насчет того, когда приложение будет опубликовано и когда я опубликую обновление новой версии? Я хотел бы, чтобы мои пользователи сохранили свой ранее список дел.

Я использую sqlite3.h для работы с базой данных. Когда приложение запускается, оно выполняет «CREATE IF EXISTS MY_TABLE», поэтому я могу гарантировать, что есть таблица базы данных, которую можно использовать.

Отредактировано: спасибо @JP ответ, моя проблема решена путем изменения как:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filename = @"todo.db";
NSString *filepath = [documentsDirectory stringByAppendingPathComponent:filname];

ранее, мой код:

NSString *filename = @"todo.db";
NSString *filepath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:filname];

1 Ответ

1 голос
/ 10 ноября 2010

Пока вы создаете базу данных sqlite в каталоге <Application_Home>/Documents, файл будет архивироваться iTunes и сохраняться в обновлениях приложения.

Подробная информация содержится в Руководстве по программированию приложений iOS в разделах «Резервное копирование и восстановление» и «Несколько важных каталогов приложений»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...