2010-02-27 16 views
3

Dans mon application iPhone, j'utilise des données de base et j'ai apporté des modifications à mon modèle de données qui ne peuvent pas être migrées automatiquement (nouvelles relations ajoutées). J'ai ajouté la version du modèle de données (Conception -> Modèle de données -> Ajouter une version du modèle) et appliqué mes nouveaux changements de modèle de données à la nouvelle version 2. J'ai ensuite créé un modèle d'objet de mappage (ancien et nouveau respectivement).Core Data Migration - Erreur «Impossible d'ajouter le magasin source»

Quand je lance l'application et appelle la persistentStoreCoordinator, mon application vomit ce qui suit:

2010-02-27 02: 40: 30,922 XXXX [73578: 20b] Erreur non résolue erreur Domaine = NSCocoaErrorDomain Code = 134110 UserInfo = 0xfc2240 "L'opération n'a pas pu être terminée. (Cocoa error 134110.)", { NSUnderlyingError = Erreur Domaine = NSCocoaErrorDomain Code = 134130 UserInfo = 0xfbb3a0 "L'opération n'a pas pu aboutir. (Cocoa error 134130.)"; reason = "Impossible d'ajouter le magasin source"; }

FWIW (pas beaucoup je crois), je l'ai aussi fait les modifications de code habituelles dans persistentStoreCoordinator d'utiliser les NSMigratePersistentStoresAutomaticallyOption et NSInferMappingModelAutomaticallyOption (pour l'évolution future du modèle de données qui peuvent être automatiquement migré). Plus pertinemment, mon managedObjectModel est créé en appelant initWithContentsOfURL où le type de fichier/ressource est "momd". J'ai essayé de mettre à jour le modèle source et le modèle de destination dans le modèle de mappage (Conception -> Modèle de mappage -> Mettre à jour le modèle XXX) et j'ai supprimé le modèle de mappage et l'ai recréé. J'ai nettoyé et reconstruit, mais en vain. Je reçois toujours le message d'erreur ci-dessus.

Des pointeurs/réflexions sur la façon dont je peux déboguer ou résoudre ce problème s'il vous plaît? Je n'ai posté aucun extrait de code car cela ressemble beaucoup plus à un problème d'environnement de construction (et mon code est très standard - juste le code de base habituel pour gérer les migrations en utilisant un modèle de mapping mais je suis heureux de montrer le code aide).

Appréciez toute aide.

Merci

Répondre

1

Ok, ceci est maintenant corrigé. J'ai (a) supprimé, puis recréé mes classes de modèles d'objets gérés, (b) supprimé puis recréé le modèle de mappage et finalement I (c) supprimé le projet iphone sous users/xxx/Library/Application Support/Simulateur iPhone/Utilisateur/Applications. Étant donné que j'ai déjà essayé et échoué avec seulement (a) et (b), je soupçonne que c'était (c) qui a résolu le problème.

+0

Un effet secondaire de doing (c) est que j'ai perdu toutes les données qui étaient présentes dans mes tables SQLite. Ce n'est pas un problème pour moi car je pré-remplis les données de toute façon et que ces données sont sauvegardées - mais quelque chose à garder à l'esprit pour les autres. – Tofrizer

+15

Je veux dire ... vous avez essentiellement évité de faire la migration qui ne résout pas vraiment le problème. – awolf

+1

La suppression du dossier iPhoneSimulator a également résolu mon problème. C'était étrange!!! –