Ich bin auf dieses Problem gestoßen und habe ein bisschen herumgegraben.
Ich habe mit Xcode 6.4 erstellt und es sieht so aus, als hätten Kerndaten zuvor nur eine .mom-Datei im Verzeichnis myApp.ipa momd erstellt. Dieser Screenshot stammt aus einem Projekt, das mehrere Versionen von Xcode gesehen hat.
Beachten Sie, dass alle älteren Modellversionen nur eine .mom-Datei haben. Ich habe heute gerade eine neue Modellversion erstellt, die sowohl eine .mom- als auch eine .omo-Datei enthält.
Es scheint, dass Xcode 6.4 (und möglicherweise auch einige der Beta 7.x-Versionen) nicht wissen, wie die optimierte Version des Datenmodells geladen werden soll, da ich auch die bekomme
2015-10-16 11:11:42.563 MyAppName[1767:599635] CoreData: Failed to load optimized model at path '/var/mobile/Containers/Bundle/Application/D887D60B-FB28-4059-8167-F573460D98F8/MyAppName.app/MyDataModel.momd/MyDataModel3_0Analytics.omo'
Warnung beim Kompilieren mit 6.4. Beim Kompilieren der App mit der neuesten App Store-Version von Xcode (7.0.1) wird diese Warnung jedoch nicht angezeigt. Ich vermute, dass der Grund, warum Maheshs Lösung funktioniert, darin besteht, dass beim erneuten Schreiben des gesamten Schemas die .omo-Datei erstellt wird, nach der die App im App-Bundle sucht.
Die Lösung für mich bestand darin, eine neue Datenmodellversion in Kerndaten zu generieren und dann mit Xcode 7 zu erstellen. Beim Erstellen einer neuen Modellversion wird anscheinend die optimierte Modelldatei erstellt. In meinen Tests löst Xcode 6.4 auch mit dieser erstellten Datei den Fehler aus. Erst als ich es mit Xcode 7.0.1 versuchte, verschwand die Warnung.
Dies ist eine Spekulation, aber ich denke, wenn Sie ein vorhandenes Projekt haben und keine neue Datenmodellversion erstellt und mit Xcode 7 erstellt haben, dass die .omo-Datei fehlt, wird die Warnung ausgegeben, da die Datei nicht gefunden werden kann. Wenn Sie jedoch Ihr Datenmodell versioniert und mit Xcode 6.4 erstellt haben, scheint es, dass die frühere Xcode-Version mit der optimierten Version etwas nicht richtig macht und es nicht lädt, selbst wenn es dort ist. Dies sind jedoch nur meine Beobachtungen.
Ich habe überprüft, ob ich ein optimiertes Modell (.omo-Datei) zum Laden hatte, indem ich Folgendes getan habe: 1. Archivieren Sie Ihr Projekt 2. Ändern Sie die Erweiterung .ipa in .zip 3. Erweitern Sie Ihre Zip-Datei 4. Klicken Sie auf den Ordner "payload" Klicken Sie mit der rechten Maustaste (oder einem Cmd-Klick) auf das App-Bundle im Ordner und wählen Sie "Paketinhalt anzeigen". 5. Klicken Sie auf das Verzeichnis .momd. Dort sollten alle verfügbaren verwalteten Objektmodelle angezeigt werden.
Wenn Sie nur .mom-Dateien und keine .omo-Dateien haben, ist die Warnung absolut sinnvoll. Die App kann keine nicht vorhandene Datei öffnen.
In meinen Tests scheint die Warnung nur zur Information gedacht zu sein. Ich hatte nie einen Absturz. Es scheint, als würden Kerndaten versuchen, zuerst das optimierte Modell zu laden, und wenn dies fehlschlägt, greifen Sie auf das reguläre .momd-Modell zurück. Dies ist jedoch nur meine Spekulation.
Ich bin mir nicht sicher, ob hier alles völlig korrekt ist. Dies ist genau das, was ich bisher beim Versuch, dies zu debuggen, beobachtet habe. Wenn jemand anderes weitere Informationen beitragen kann, begrüße ich Ihre Eingabe.