Was ist das MOM-Dateiformat?
Eine .mom-Datei ist ein kompiliertes Core Data-Modell, das von Xcode zur Build-Zeit erstellt wird. Wenn ein Entwickler ein Datenschema im .xcdatamodeld-Quelleneditor entwirft, kompiliert Xcode diesen Entwurf in eine binäre .mom-Datei (Managed Object Model), die im Application Bundle ausgeliefert und zur Laufzeit von NSManagedObjectModel geladen wird.
Strukturell ist eine .mom-Datei eine binäre Apple-Property-List, die mit den Magic Bytes bplist00 beginnt und Entitäten, Attribute, Beziehungen, Vorlagen für Abrufanforderungen (Fetch Requests) sowie Modellkonfigurationen kodiert, die das Core Data-Schema der App definieren. Sie beschreibt die Datenbankstruktur - nicht die Daten selbst.
Für versionierte Schemata erstellt Xcode ein .momd-Bundle - ein Verzeichnis, das eine .mom-Datei pro Schemaversion sowie eine VersionInfo.plist enthält, die Versions-Hashes pro Entität speichert. Core Data vergleicht diese Hashes beim Start, um zu entscheiden, ob eine einfache Migration (Lightweight Migration) möglich ist oder ein Mapping-Modell für eine komplexe Migration (Heavyweight Migration) benötigt wird.
Entwickler bearbeiten eine .mom-Datei niemals direkt; die .xcdatamodeld-Quelldatei ist das Artefakt, mit dem gearbeitet wird. Die .mom ist rein ein Build-Produkt - eine manuelle Änderung würde das Modell beschädigen. Apple-Plattformen, die Core Data verwenden, umfassen macOS, iOS, iPadOS, tvOS und watchOS.
Eine neuere Option, SwiftData (eingeführt 2023), baut intern auf Core Data auf, bietet jedoch eine auf Swift-Makros basierende API, die .mom-Dateien vollständig vor dem Entwickler verbirgt. Für Apps, die noch auf ältere OS-Versionen abzielen, bleibt die Pipeline .xcdatamodeld → .mom aktuell.
Sicherheit
RISIKO: LOWEine .mom-Datei ist ein passives Build-Artefakt (eine Property-List von Schemadefinitionen) und nicht ausführbar, daher stellt sie ein geringes Risiko dar. Sie legt das Datenschema einer App offen, aber keine Benutzerdaten. Die einzige Vorsicht gilt der üblichen bei unbekannten Dateien: Inspizieren Sie diese mit plutil, anstatt etwas auszuführen. Vermeiden Sie Download-Seiten für „MOM file opener“ - die richtigen Werkzeuge (Xcode, plutil) sind kostenlos von Apple erhältlich.
Formatdetails
kurz gefasstProgramme zum Öffnen von MOM-Dateien
plutil -p file.mom im Terminal oder mit einem bplist-Viewer), um den serialisierten Inhalt zu prüfen. plutil -p path/to/Model.mom aus, um das kompilierte Modell als lesbaren Text auszugeben. Technische Details
technische Spezifikation| Dateityp | Kompilierte binäre Apple-Property-List (bplist) |
| Magic Bytes | bplist00 (62 70 6C 69 73 74 30 30) bei Offset 0 |
| Entwickler | Apple Inc. |
| Kodierung | Binär (Apple bplist-Serialisierung) |
| Typische Dateigröße | Einige KB bis einige hundert KB (Schemabeschreibung, keine App-Daten) |
| Inhalt | Serialisiertes NSManagedObjectModel - Entitäten, Attribute, Beziehungen, Fetch-Request-Vorlagen und Konfigurationen |
| Build-Artefakt | Von Xcode aus einer .xcdatamodeld-Quelle kompiliert; nicht für manuelle Bearbeitung vorgesehen |
| Versioniertes Bundle | .momd-Verzeichnis, das eine .mom pro Schemaversion sowie eine VersionInfo.plist mit Versions-Hashes pro Entität enthält |
| Optimierte Variante | .omo (Optimized Managed Object Model) - von Xcode für schnelleres Laden zur Laufzeit generiert |
| Migrations-Unterstützung | Versions-Hashes pro Entität in der VersionInfo.plist steuern die einfache und komplexe Core Data-Migration |
| Laden zur Laufzeit | Wird über die NSManagedObjectModel-API geladen; steuert NSPersistentStoreCoordinator und NSManagedObjectContext |
| Zugehörige Plattformen | macOS, iOS, iPadOS, tvOS, watchOS |
| Moderne Alternative | SwiftData (2023) baut auf Core Data auf, verbirgt .mom-Dateien jedoch hinter einer Swift-Makro-basierten API |
| Veröffentlicht | Core Data, introduced with Mac OS X 10.4 Tiger (2005); built on the earlier Enterprise Objects Framework |
| Neueste Version | Tracks the current Xcode / Core Data tooling (versioned models compile to .momd directories) |
| Spezifikation | developer.apple.com |
MOM-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu MOM-Dateien.
Häufig gestellte Fragen
Was ist eine .mom-Datei auf meinem Mac?
Wie öffne ich eine .mom-Datei?
plutil -p file.mom im Terminal aus.