Меня сейчас преследует какая-то странная проблема:
Одно из моих приложений (еще не выпущенных) аварийно завершает работу при запуске, но только в том случае, если устройство было синхронизировано с iTunes с момента установки приложения.
Приложение специально разослано некоторым тестировщикам, один из них заметил этот сбой и вот как его можно воспроизвести:
- Установить приложение
- Запустите приложение, заполните Core Data Store, все отлично работает
- Закрыть приложение, снова запустить приложение, использовать его нормально, все работает нормально
- Синхронизация устройства с iTunes
- Приложение сразу после запуска вылетает
Из консоли устройства, которую я прочитал после сбоя:
The operation couldn’t be completed. (Cocoa error 134100.)
и далее вниз:
The model used to open the store is incompatible with the one used to create the store
Чего я не понимаю, так это того, что у модели никогда не было возможности (кроме синхронизации) измениться, я не трогал ее месяцами.
И что меня еще больше удивляет, так это то, что если я снова установлю приложение (через Testflight, не удаляя его сначала для сохранения данных), оно будет работать снова. С тем же хранилищем данных, которое ранее вызывало сбой приложения.
Так что даже сами данные не могут быть повреждены, скорее синхронизация делает что-то с моделью или что-то в этом роде.
Я даже не знаю, с чего начать отладку, так как не могу сказать, что именно происходит во время синхронизации iTunes.
Любые намеки приветствуются !!