Je reçois un Le problème est que Je cherche la solution pendant des heures et je ne peux toujours pas le trouver. P> p> 'Impossible de créer un NSPERSISTENTSTORECOORDINATEUR avec une erreur de modèle NIL' CODE> après avoir supprimé mon application à partir de l'appareil. Je teste une application iPhone dans un appareil iPad. J'ai mis ce code pour vérifier si j'ai le fichier dans
appdelegate.m code>:
[nsmanagedObjectModel initwithcontentsofurl] code > retourne la valeur nil.
J'ai fait les choses suivantes, sans succès: p>
__ ManagedObjectModel = [NSMANDAGEODOBJOURMODEL MERGESTMOFFROMBUNDLES: NIL]; CODE> LI>
.xcdatamodeld code> est dans la copie des ressources et compiler des sources li>
.xcdatamodeld code> et le projet Xcode nettoyé et fermé plusieurs fois li>
$ CD / Utilisateurs / John / Bibliothèque / Développeur / XCode / DeriveData Code> Li>
4 Réponses :
Enfin, après deux jours, essayez de résoudre ce problème, j'ai trouvé la solution ici: p>
Comment créer le dossier magique .xcdataModeld / paquet? P>
Je termine maintenant un projet que d'autres développeurs ont commencé, et il semble qu'il n'avait pas poussé les dernières modifications au représentant, mais ces modifications étaient dans l'application dans l'appareil et lorsque j'ai supprimé l'application que j'ai supprimée. Le bon Afin de créer la bonne hiérarchie du modèle de données, la solution était assez facile: p>
Et cet intégré le fichier .xcdatamodeld code> fichier. Le problème était que j'avais juste un fichier code> myapp.xcdatamodel code> dans le projet, et c'est la raison d'avoir un dossier vide code> MOMD CODE>, semble-t-il. P>
MyApp.XCDatamodel CODE> LI>
myapp.xcdatamodel code> dans
myapp.xcdatamodeld code>. Maintenant, le dossier
MOMD CODE> a les fichiers
MOM CODE> et l'application s'exécute OK. Le seul problème est maintenant que j'ai deux
myapp.xcdatamodel code>, un avec une icône sélectionnée verte, mais à la fois avec le même contenu, donc aucun problème. P>
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"select xcdatamodeld" withExtension:@"momd"]; select exact url for resource name..
C'est relativement simple. P>
Si vous avez un fichier XCDatamodel sans forte> versions: utilisez l'extension "MOM" dans votre déclaration de gestionObjectModel. Si votre XCDatamodel a des versions, vous devez utiliser «MOMD». P>
J'ai sauvegardé pour construire ma première application iOS à nouveau. Aujourd'hui, j'ai eu cette erreur: "Impossible de créer un NSPersistentTorecoordinateur avec un modèle NIL". En fait, c'est facile à réparer. Veuillez faire cette ligne de code:
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"TipRecord" withExtension:@"momd"];
Est-ce que ça marche sur le simulateur? Pouvez-vous ouvrir le fichier
.xcdatamodeld code> dans xcode?
Alan, je suis capable d'ouvrir le fichier
.xcdatamodeld code> en Xcode, mais l'application ne fonctionne pas dans le simulateur. Il lance, mais affiche uniquement un écran noir.
Je pense avoir trouvé quelque chose ... Je viens de réaliser que je n'avais pas supprimé tous les fichiers vivant dans
/ users / john / bibliothèque / développeur / xcode / dérivédata code>, alors quand j'ai fait cela Le simulateur s'est bien passé, même le managementObjectmodel. Y a-t-il un moyen de supprimer ces fichiers dans l'appareil?
La suppression de l'application de l'appareil doit supprimer les fichiers.
Maintenant, l'application se lance dans le simulateur (uniquement si je supprime DeriveData et réinitialiser le contenu et les paramètres de réinitialisation), mais je reçois le même
ManagedObjectModel code> erreur.
Si le fichier existe à l'URL, alors la meilleure estimation est un modèle corrompu. Pouvez-vous revenir à la révision préalable dans la version de la version?
Donc, ce que vous devriez faire est de créer un nouveau projet de démonstration (contrôleur d'affichage unique). Copiez votre modèle sur ce projet et ajoutez le code ci-dessus. Exécutez-le quelques fois pour être sûr qu'il échoue comme votre projet principal. Zip It up et mettez sur Dropbox, puis mettez à jour votre question avec un lien vers le projet.
Il semble qu'il n'y ait pas de fichier
.mom code> dans le répertoire
.momd code>. De plus, il n'y a pas de
.xcdatamodeld code> et il semble que Xcode ne trouve pas le
.xcdatamodel code> qui existe dans le projet. Je vais essayer de résoudre le problème en ajoutant un
.xcdatamodeld code>.
Je viens de poster la solution. Les problèmes avec le simulateur étaient des problèmes Xcode, je viens de mettre à jour 4,5 et tout ce qui concerne l'iPhone Simulator fonctionne bien.