База данных SQLite кэшируется благодаря SVN - PullRequest
1 голос
/ 28 июля 2010

Приложение для моего iPhone использует Core Data и базу данных SQLite;версии отслеживаются с использованием SVN.Добавление данных в базу данных не отражается в приложении.Я убираю проект из симулятора и добавляю новую базу данных в виде файла в проект.Я подозреваю, что данные кэшируются в другом месте.

Обратите внимание, что SVN не показывает никаких изменений в базе данных, даже при непосредственном редактировании.Также, если я копирую и вставляю проект в новую папку, удаляю скрытые папки SVN, удаляю папки сборки, редактирую БД, удаляю проект из симулятора, затем компилирую и запускаю, он работает с первого раза.После этого данные снова кэшируются в каком-то неизвестном месте.

Есть идеи, где это может быть?

ОБНОВЛЕНИЕ: Решением этой проблемы был выход из моего клиента SVN (версии).Я до сих пор не уверен, как это повлияло на обновления БД;Я не думаю, что это заблокирует или отменит любые изменения.Теперь я могу редактировать и сохранять изменения.

Спасибо всем за помощь.

Ответы [ 2 ]

2 голосов
/ 28 июля 2010

Здесь может быть что-то не так. Если у вас есть база данных SQLite, добавленная в ваш проект по ссылке, и если вы не внесли никаких изменений в код, тогда, когда вы нажмете «Построить», вы не увидите скопированный вами измененный ресурс БД. По сути, Xcode имеет давние проблемы с распознаванием изменений ресурсов (на которые есть ссылки). Делать чистую сборку - ваш ядерный вариант, так как в зависимости от времени компиляции, это может занять довольно много времени. Лучший вариант - просто удалить пакет .app из каталога сборки. Это не займет много времени для восстановления Xcode, хотя если у вас много ресурсов, это также может занять некоторое время. Лучший вариант (тот, который я использую) - это оставить «фиктивный» файл на корневом уровне папки, включенной по ссылке (скажем, пустой текстовый файл), и когда я обновлю ресурс, я внесу изменение в фиктивный файл, отмените изменение и нажмите Save (внутри Xcode). Это вызывает что-то в XCode, чтобы рекурсивно пройти через этот включенный каталог, чтобы видеть, изменилось ли что-нибудь.

Помимо всего этого, если вы изменяете файл БД, а SVN сообщает вам, что вы не внесли в него изменения, у вас есть другая проблема. Проще говоря, вы уверены, что файл БД уже добавлен и зарегистрирован в SVN, поэтому SVN знает об этом? И вы уверены, что редактируете тот же файл, который проверяете в SVN?

0 голосов
/ 29 июля 2010

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

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