база данных не копируется на устройство iPhone из ресурсов - PullRequest
0 голосов
/ 12 октября 2011

У меня возникла странная проблема. Я использую базу данных sqlite в моем приложении. Приложение работает нормально, когда работает в симуляторе, но когда я развертываю приложение на устройстве iPhone, оно не читает из БД. Кроме того, когда я пытаюсь вставить что-то в таблицу, она говорит, что нет такой таблицы, что означает, что моя база данных фактически не копируется на устройство. Я попытался очистить проект с помощью Build-> Clean all Targets, удалить папку Build и вручную удалить приложение с устройства. Затем попробуйте построить снова. но не повезло. Конечно, я добавил БД в Ресурсы, и я могу найти и фактически прочитать содержимое. Пожалуйста, укажите, что не так при развертывании на устройстве.

Ответы [ 2 ]

0 голосов
/ 12 октября 2011

Мне действительно никогда не удавалось сделать это правильно.Вот почему у меня есть сценарий сборки, который сбрасывает все имеющиеся у меня sqlite DB в текстовый файл .sql.При первом запуске приложения на телефоне я просто генерирую sqlite DB из этих строк sql.Работает для меня намного экономнее, чем работа с двоичными файлами из sqlite.

0 голосов
/ 12 октября 2011

Сначала убедитесь, что вы копируете базу данных в комплект на этапе сборки ресурсов копирования.Когда ресурс находится в комплекте, вы не можете его изменить, вам необходимо скопировать его в каталог документов приложения

NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...