Основная миграция данных - ошибка «Не удается добавить исходное хранилище» - PullRequest
3 голосов
/ 27 февраля 2010

В своем приложении для iPhone я использую Core Data и внес изменения в мою модель данных, которые не могут быть перенесены автоматически (то есть добавлены новые отношения). Я добавил версию модели данных (Дизайн -> Модель данных -> Добавить версию модели) и применил изменения новой модели данных к новой версии 2. Затем я создал объектную модель отображения и установил для моделей источника и назначения правильные модели данных. (старый и новый соответственно).

Когда я запускаю приложение и вызываю persistentStoreCoordinator, у моего приложения появляется следующее:

2010-02-27 02: 40: 30.922 XXXX [73578: 20b] Неразрешенная ошибка Ошибка Domain = NSCocoaErrorDomain Code = 134110 UserInfo = 0xfc2240 "Операция не может быть завершена. (Ошибка Какао 134110.)", { NSUnderlyingError = Ошибка домена = NSCocoaErrorDomain Code = 134130 UserInfo = 0xfbb3a0 "Операция не может быть завершена. (Ошибка Какао 134130.)"; reason = "Не удается добавить исходный магазин"; }

FWIW (не так много, я думаю) Я также сделал обычные изменения кода в persistentStoreCoordinator, чтобы использовать NSMigratePersistentStoresAutomaticsOption и NSInferMappingModelAutomaticsOption (для будущих изменений модели данных, которые могут быть автоматически перенесены). Что более важно, мой managedObjectModel создается путем вызова initWithContentsOfURL, где тип файла / ресурса - «momd».

Я попытался обновить как исходную, так и целевую модель в модели отображения (Дизайн -> Модель отображения -> Обновить модель XXX), а также удалил модель отображения и заново создал ее. Я убрал и восстановил, но все безрезультатно. Я все еще получаю сообщение об ошибке выше.

Какие-нибудь указания / мысли о том, как я могу далее отладить или решить эту проблему, пожалуйста? Я не опубликовал ни одного фрагмента кода, потому что это больше похоже на проблему среды сборки (и мой код очень стандартный - просто обычный код основных данных для обработки миграций с использованием модели отображения, но я рад показать код, если он помогает).

Ценю любую помощь.

Спасибо

1 Ответ

1 голос
/ 27 февраля 2010

Хорошо, теперь это исправлено.

Я (а) удалил, а затем заново создал классы управляемой объектной модели, (б) удалил, а затем заново создал модель отображения, а затем, наконец, я (с) удалил проект iphone в папке users / xxx / Library / Application Support / iPhone Симулятор / User / Applications.

Учитывая, что я ранее пытался и не смог выполнить только (a) и (b), я подозреваю, что именно (c) это решило проблему.

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