2011-10-10 15 views
143

Come posso eliminare un vecchio modello di dati in Xcode? L'opzione è disabilitata nel menu. (I modelli che desidero cancellare non sono stati rilasciati al pubblico - sono modelli di sviluppo provvisori.)Come eliminare una versione del modello dati vecchia/inutilizzata in Xcode

+0

Significa che la scelta "Elimina" sotto il menu "Modifica" è disabilitata (mentre il vecchio file Modello dati è selezionato in File inspector)? O intendi qualcos'altro? –

+0

Sì, la scelta di cancellazione sotto il menu Modifica, e anche sotto il menu di controllo-tasto destro (e qualsiasi menu che riesco a trovare) è disabilitata. So che alcune persone stanno andando a un precedente xcode per cancellare versioni vecchie/non utilizzate, ma non ne ho una installata. – SAHM

+0

Michael, sei in grado di farlo in xCode 4? – SAHM

risposta

334

E 'un hack, ma questo ha funzionato per me:

  1. impostare la versione attuale del modello in Xcode a uno che si desidera mantenere
  2. Rimuovere il .xcdatamodeld dal progetto (tasto destro del mouse -> Elimina ->Rimuovere Riferimento Solo)
  3. mostrare il contenuto della confezione .xcdatamodeld nel Finder (tasto destro del mouse -> Mostra contenuto pacchetto)
  4. Eliminare il file .xcdatamodel (s) che si don' non voglio più
  5. Re-aggiungere il file .xcdatamodeld al progetto

Questo elimina la necessità di modificare manualmente uno qualsiasi dei file di metadati del progetto.

+1

Ho provato questa tecnica e ho scoperto che, a causa del modo in cui sono state denominate le mie versioni del modello, la versione del modello è stata riordinata in modo errato e la versione predefinita errata è stata selezionata mentre ho aggiunto nuovamente il file xcdatamodel al progetto. Ciò può essere dovuto al fatto che sono presenti fino a 38 versioni del modello e che non ho modificato il nome della versione predefinita, pertanto le versioni sono denominate "MY_APP 37.xcdatamodel". Volevo cancellare 38. All'importazione, è stato estratto in ordine lessicale, che significa "MY_APP 10.xcdatamodel" è stato il primo e selezionato come predefinito. Non è l'ideale nel mio caso. – Mike

+0

Mike: lo stesso problema per me, anche se sono stato in grado di riordinare in project.pbxproj in un editor di testo senza alcun dramma importante. Ancora non è l'ideale. –

+0

Questo ha funzionato per me. Forse la cancellazione di un modello è stata fatta intenzionalmente a disagio, perché potrebbe portare alla perdita di dati. – berfis

25

Ho appena trovato la necessità di farlo. Ho creato una nuova versione del modello e poi ho capito che non ne avevo più bisogno. Sono stato sorpreso di scoprire che non c'era modo di cancellarlo (che potrei trovare) da Xcode. Tuttavia, per rimuoverlo ho fatto quanto segue:

Prima ho fatto in modo che non fosse la mia versione del modello attuale. Poi sono andato su Finder e ho trovato il mio file * .xcdatamodeld. Fai clic con il pulsante destro del mouse e mostra i contenuti del pacchetto. Lì troverai il file del modello attuale e puoi cancellarlo.

Questo ancora non lo rimuove da Xcode e verrà visualizzato in rosso in File e gruppi. Per evitare che ciò accada, torna su Finder e mostra i contenuti del pacchetto sul tuo file * .xcodeproj principale (potresti voler assicurarti di avere prima un backup di questo). In là apri e modifica project.pbxproj fai una ricerca sul nome della tua versione del modello, nel mio caso "intervallo 8". Per me è apparso su due righe separate. Ho rimosso queste righe e ora è completamente rimosso da Xcode.

+0

@Daniel_Wood, sì, Avevo trovato anche come farlo manualmente, ma attenzione. Può causare alcuni problemi lungo la linea ... Ho dovuto rifarlo diverse volte, anche a volte cambiare le versioni attive e non attive a volte, poi quando resetti la versione corretta, non la sposta in la parte superiore dell'elenco (a volte) che causa più problemi! Grazie mille per l'input però. Questo sembra strano che avrebbero rimosso questa capacità - non dovremmo mai andare nel file .xcodeproj! – SAHM

-2

La mia risposta non è specifica del problema ma è veloce e funziona. Per chi usa git. Puoi semplicemente scartare i cambiamenti non modificati.

git stash save --keep-index 

Poi si può cadere che scorta con un comando git stash drop, se volete.