2011-10-09 9 views
12

Ogni volta che io costruisco il mio progetto, sto ottenendo l'errore: i messaggierrore MOMC con XCode4 e Data Model Compile

Command /Developer/usr/bin/momc failed with exit code 1 

che ho letto qui circa l'eliminazione di versioni Data Model estranei come una correzione, e non funziona nulla . Sono perplesso perché nulla cambia il comportamento della mia build: Fallisce sempre con il codice di errore sopra, indipendentemente dal fatto che io abbia effettivamente o meno file di modello CoreData.

Quello che ho fatto per causare questo errore: passato a un modello di controllo delle versioni

Quello che ho cercato:

  • Rimozione nuova versione del modello di dati
  • Rimuovere tutte le versioni precedenti del modello di dati
  • Rimozione dell'intero modello di versioning e utilizzo della versione precedente di Git
  • Cancellazione completa di file o riferimenti a file .xcdatamodel s (no coredata affatto)

Ho costruito pulito tra ogni tentativo e riavviato XCode più volte. Sempre l'errore "exit code 1" con momc.

+3

SOLVED: aprire il file .pbxproj e rimuovere manualmente * tutti * i riferimenti a .xcdatamodel. Riapri XCode, Build Clean .... e poi rilascia la tua versione precedente di .xcdatamodel – beeudoublez

+0

Grazie, un eccellente consiglio, ha avuto lo stesso problema durante la migrazione da XCode4.1 a 4.2 – DaGaMs

+0

DaGaMs fantastici, speravo che questo sarebbe stato trovato da altri, anche se non è stato contrassegnato come "Risolto" nel modo tradizionale. Grazie per l'upvoting. – beeudoublez

risposta

19

Aprire il file .pbxproj e rimuovere manualmente tutti i riferimenti a .xcdatamodel. Riapri XCode, Build Clean .... e poi rilascia la tua vecchia versione di .xcdatamodel

+0

grazie per questo suggerimento. Sono rimasto sorpreso che questa soluzione ha funzionato per me, come mi sarei aspettato che i file estranei fossero esposti dal mio vcs (git), ma non lo erano. vivo e imparo –

+0

Dove posso trovare il file .pbxproj? –

16

Per me il problema non era all'interno del file .pbxproj.

Trova il file xcdatamodel nel Finder. Opzione fai clic e apri il contenuto del pacchetto. Controlla se ci sono più versioni all'interno che non riconosci.

Mi aspettavo solo una versione. Una seconda versione come è nata e xcode non lo stava registrando.

Ho rimosso la seconda versione e sta funzionando bene ora.

+0

Questo è quello che mi è successo. Avevo creato una versione da testare, quindi l'ho scartata tramite il controllo del codice sorgente (mercurial per essere specifico). Di conseguenza il file non è stato conteggiato nel progetto, ma è rimasto nel pacchetto che deve aver causato l'arresto. –

+0

Ciao, ho solo una copia del file xcdatamodel. Ma continuo a ricevere errori –