Основная миграция данных в приложении магазина приложений - PullRequest
0 голосов
/ 31 октября 2011

В моем приложении я использую основные данные и использую версии 1-5. В магазине приложений, например. предыдущее приложение имело версию 1, а новое обновление - версию 5. Поэтому версии 2,3,4 пропускаются в отладочных и специальных выпусках. Теперь я обнаружил, что магазин приложений падает из-за какой-то проблемы с основными данными, и я думаю, что это связано с проблемами управления версиями. Если старое приложение удалено, а новое установлено, это решит проблему.

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

Ответы [ 2 ]

0 голосов
/ 15 ноября 2011

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

Решение: протестируйте миграцию, установивприложение через iTunes, а не через XCode.

Как: удалить приложение с вашего iPhone.Синхронизация с iTunes.Убедитесь, что приложение удалено из приложения в iTunes.Установите старое приложение через XCode на свое устройство.Теперь откройте в XCode новую версию вашего приложения.Выберите, чтобы построить для устройства iPhone (не для симулятора).Найдите файл .app в / Users // Библиотека / Разработчик / Xcode / DerivedData // Build / Products / Debug-iphoneos Перетащите файл .app в iTunes.Синхронизация с вашим устройством.

Таким образом, новое приложение будет перезаписывать старое на вашем iPhone точно так же, как это происходит при обновлении через AppStore.

Теперь вы можетепоставь логи отладки и выясни в чем твоя проблема.Вы можете увидеть журналы в Организаторе, в Консоли вашего устройства.

В моем случае проблема заключалась в том, что метод pathForResource не просматривает подкаталоги.Но мой старый файл мамы был в каталоге.Поэтому мне пришлось использовать дополнительный параметр «inDirectory» того же метода.

Причина, по которой этот метод работал при установке через XCode и не работал через iTunes, меня опережает ... понятия не имею !!!

Но, по крайней мере, теперь я знаю следующее: - pathForResource не просматривает подкаталоги - Всегда устанавливайте мое приложение через iTunes перед выходом в эфир !!!

0 голосов
/ 01 ноября 2011

ищу схему миграции.Я не смог найти никакой интуитивно понятной документации, как вы можете перенести или исправить, если вы испортили свой собственный файл xcdatamodel с более старой версией.

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

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