2014-11-01 11 views
17

Dopo l'aggiornamento a Xcode 6.1, continuava a lanciare questa eccezione quando provavo a creare la mia applicazione esistente. Ho provato a rimuovere "MyController" e ad aggiungerlo di nuovo. Ma genererebbe la stessa eccezione con controller diversi.Xcode 6.1 continua a dirmi che PartialInfo.plist non può essere aperto

could not read data from '/Users/macbookpro/Library/Developer/Xcode/DerivedData/MyApp- 
dmhwkhbfbxprhycwjeunwtbbtsxj/Build/Intermediates/MyApp.build/DEV-iphoneos/MyApp.build/MyController- 
PartialInfo.plist': The file “MyController-PartialInfo.plist” couldn’t be opened because there is no 
such file. 

risposta

23

Ho trovato la risposta. Devo sostituire tutti i file xib 'IBCocoaTouchPlugin alla versione più recente.

<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="6244"/> 
+10

questo può essere fatto semplicemente selezionando lo xib e lasciando che xcode lo apra nel generatore di interfacce. – odyth

+1

Lo stesso con xcode 6.2. Dobbiamo selezionare tutto lo xib e lasciare che xcode lo apra nel builder dell'interfaccia. Quindi salva tutti i file. – SHS

+0

Poiché questo * mi è stato impedito * e l'apertura dei pennini non sembrava bloccarsi, ecco un one-liner a riga di comando per farlo - ricordati di eseguire il commit prima di provarlo e sostituire il '7520' con qualsiasi versione tu voglio usare: 'find. -name '* .xib' | xargs perl -pi -e 's/identificatore plugIn. * $/identificatore plugIn \ = \ "com.apple.InterfaceBuilder.IBCocoaTouchPlugin \" versione \ = \ "7520 \" \/\>/g'' – jankins

10

È possibile risolverlo eliminando il contenuto nella cartella DerivedData. Se sei preoccupato di eliminare troppe cartelle, elimina solo le cartelle che iniziano con il nome del tuo progetto corrente per cui stai cercando di risolvere il problema. Ricordarsi di chiudere XCode prima di eliminare i dati

Library/Developer/Xcode/DerivedData/

+1

Questo ha funzionato per me. Ho solo dovuto cancellare la cartella ** Build ** nella cartella DerivedData del mio progetto. Ciò mi ha permesso di conservare la cartella ** Index ** che può essere piuttosto dispendiosa in termini di tempo e risorse per ricreare Xcode. –

+0

Ha funzionato anche per me! grazie! – Gabriel

+0

Un modo più sicuro per eliminare i dati derivati ​​è eseguire Xcode -> Finestra -> Progetti: selezionare il progetto (nel riquadro di sinistra) e fare clic sul pulsante "Elimina" accanto a Dati derivati ​​nel riquadro di destra. –

0

ho incontrato questo problema quando mi sono trasferito il mio file .plist in una nuova cartella. Devi andare nella lista Target (seleziona la barra in alto nel menu verticale di sinistra di Xcode, quella che ha il nome del tuo progetto, quindi seleziona Targets sul menu verticale in secondo luogo da sinistra) e trova la sezione Identity. Da lì, seleziona il pulsante che ti consente di specificare il nuovo percorso del file .plist.

Se ciò non funziona, provare a eliminare la cartella del progetto in ~/Library/Developer/Xcode/DerivedData/e creare nuovamente.

3

Per me (con Xcode 6.3) questo stava accadendo con un file che si è concluso in ~ iPhone.xib. L'ho cambiato alla fine in tutte le minuscole ~ iphone.xib e risolto il problema.

+0

ha funzionato per me :) – 100rabh

0

Molti di voi hanno trovato la risposta parziale.

Credo che questo problema sia correlato alla "correzione" di Apple per quando gli XIB si stavano caricando lentamente quando facevano riferimento a caratteri personalizzati. Ora memorizzano le informazioni sui font personalizzati in un file xibnamePartialInfo.plist nella cartella derivedData.

Ora se l'app contiene xibname ~ iPhone.xib AND xibname.xib, viene creato solo il file PartialInfo.plist per xibname ~ iPhone.xib e viene visualizzato l'errore. L'apertura dello xib in InterfaceBuilder ha avuto l'effetto collaterale della creazione di questo file, motivo per cui il problema sembrava scomparire (fino al prossimo clean).

Quindi la soluzione è di rinominare tutti i file ~ iPhone in qualcos'altro (il trattino funziona in sostituzione della tilde). A quanto pare la sua la tilde che ostacola la creazione del file PartialInfo.plist per la XIB radice

2

Questo è generalmente accade quando si apre versione vecchia xibs nulla a che fare solo cliccare sul xib nel pannello di file di versione verrà automaticamente cambiato/aggiornato con la versione più recente.

quindi non è necessario ricordarlo.

0

Risposta comune per la maggior parte della domanda ... Riavviare Xcode. Per me funziona.

Problemi correlati