Обновление вылетает после автоматической облегченной миграции coredata - PullRequest
1 голос
/ 22 марта 2011

Я недавно представил обновление моего приложения, которое включало в себя облегченную миграцию coredata (включая новые поля в существующих таблицах и пару новых таблиц). Я следовал всем советам, касающимся этой миграции, включая некоторые, которые я нашел на этом сайте.

Я тщательно протестировал обновление на трех разных устройствах, и все прошло нормально !!!

Однако это обновление дает сбой всем моим устройствам и, вероятно, всем моим клиентам. Я не могу объяснить, почему это происходит.

Не могли бы вы помочь мне понять этот разгром?

Ответы [ 2 ]

1 голос
/ 23 марта 2011

Чтобы действительно протестировать ваше приложение и миграцию, вам нужно запустить свое оригинальное приложение, чтобы создать хранилище данных в соответствии с исходной моделью данных.Затем вам нужно запустить новое приложение, открыв хранилище данных, созданное с помощью оригинального приложения.Это может быть очень неприятно, и в Симуляторе это проще (по крайней мере, на начальном этапе), потому что вы имеете больший контроль над файловой системой и можете поменяться в сохраненном исходном хранилище данных.В iDevice вам необходимо заново создавать исходное хранилище данных для каждого теста.

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

0 голосов
/ 23 марта 2011

Обычно я использую автоматическую миграцию только во время бета-тестирования, для быстрых ревизий, кроме того, что я всегда использую модель сопоставления, чтобы у вас был контроль.

другая проблема заключается в том, что если ваша модель смещается достаточно далекомежду выпусками автоматическая миграция из v1-v2 могла бы быть хорошей, и v2-v3 могла бы быть в порядке, но v1-v3 могла быть слишком радикальной, чтобы ее выводить.делая карты для них, вы сохраняете контроль над миграцией.

...