O que é o formato de ficheiro MOM?
Um arquivo .mom é um modelo do Core Data compilado produzido pelo Xcode no momento da compilação. Quando um desenvolvedor projeta um esquema de dados no editor de código-fonte .xcdatamodeld, o Xcode compila esse design em um arquivo binário .mom (Managed Object Model) que é enviado dentro do pacote do aplicativo e carregado em tempo de execução pelo NSManagedObjectModel.
Estruturalmente, um .mom é uma lista de propriedades binárias da Apple que começa com os magic bytes bplist00, codificando entidades, atributos, relacionamentos, modelos de solicitação de busca e configurações de modelo que definem o esquema do Core Data do aplicativo. Ele descreve a estrutura do banco de dados - não os dados em si.
Para esquemas com controle de versão, o Xcode cria um pacote .momd - um diretório contendo um arquivo .mom por versão de esquema, além de um VersionInfo.plist que registra hashes de versão por entidade. O Core Data compara esses hashes na inicialização para decidir se uma migração leve (lightweight migration) é possível ou se um modelo de mapeamento de migração pesada é necessário.
Os desenvolvedores nunca editam um .mom diretamente; o arquivo de origem .xcdatamodeld é o artefato com o qual se deve trabalhar. O .mom é estritamente um produto de compilação - modificá-lo manualmente corromperia o modelo. As plataformas Apple que usam Core Data incluem macOS, iOS, iPadOS, tvOS e watchOS.
Uma opção mais recente, o SwiftData (introduzido em 2023), baseia-se internamente no Core Data, mas expõe uma API baseada em macros Swift que oculta totalmente os arquivos .mom do desenvolvedor. Para aplicativos que ainda visam versões mais antigas do sistema operacional, o pipeline .xcdatamodeld → .mom permanece atual.
Segurança e proteção
RISCO: LOWUm .mom é um artefato de compilação passivo (uma lista de propriedades de definições de esquema) e não é executável, portanto, apresenta pouco risco. Ele expõe o esquema de dados de um aplicativo, mas nenhum dado do usuário. O único cuidado é o habitual para arquivos desconhecidos: inspecione com plutil em vez de executar qualquer coisa. Evite sites de download de «abridores de arquivos MOM» - as ferramentas corretas (Xcode, plutil) são gratuitas da Apple.
Detalhes do formato
em resumoProgramas que abrem arquivos MOM
plutil -p file.mom no Terminal, ou qualquer visualizador de bplist) para inspecionar seu conteúdo serializado. plutil -p path/to/Model.mom para imprimir o modelo compilado como texto legível. Detalhes técnicos
especificação profunda| Tipo de arquivo | Lista de propriedades binárias da Apple compilada (bplist) |
| Magic bytes | bplist00 (62 70 6C 69 73 74 30 30) no deslocamento 0 |
| Desenvolvedor | Apple Inc. |
| Codificação | Binário (serialização Apple bplist) |
| Tamanho típico do arquivo | Alguns KB a algumas centenas de KB (descrição do esquema, não dados do aplicativo) |
| Conteúdo | NSManagedObjectModel serializado - entidades, atributos, relacionamentos, modelos de solicitação de busca e configurações |
| Artefato de compilação | Compilado pelo Xcode a partir de uma fonte .xcdatamodeld; não destinado à edição manual |
| Pacote com versão | Diretório .momd contendo um .mom por versão de esquema mais VersionInfo.plist com hashes de versão por entidade |
| Variante otimizada | .omo (optimized managed object model) - gerado pelo Xcode para carregamento mais rápido em tempo de execução |
| Suporte à migração | Hashes de versão por entidade no VersionInfo.plist orientam migrações leves e pesadas do Core Data |
| Carregamento em tempo de execução | Carregado via API NSManagedObjectModel; gerencia o NSPersistentStoreCoordinator e o NSManagedObjectContext |
| Plataformas associadas | macOS, iOS, iPadOS, tvOS, watchOS |
| Alternativa moderna | SwiftData (2023) baseia-se no Core Data, mas oculta arquivos .mom atrás de uma API baseada em macros Swift |
| Lançado | Core Data, introduced with Mac OS X 10.4 Tiger (2005); built on the earlier Enterprise Objects Framework |
| Versão mais recente | Tracks the current Xcode / Core Data tooling (versioned models compile to .momd directories) |
| Especificação | developer.apple.com |
Conversões de MOM
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos MOM.
Perguntas frequentes
O que é um arquivo .mom no meu Mac?
Como faço para abrir um arquivo .mom?
plutil -p file.mom no Terminal.