Il documento Main.storyboard richiede Xcode 8.0 o successivo


94

Ho scaricato Xcode beta e ho aperto il mio progetto esistente per vedere come funziona con Xcode 8 beta (ho aperto il file Storyboard da Xcode 8).

Ora quando apro il mio progetto da Xcode 7.3 non riesco ad aprire il file storyboard, mi dà il seguente errore

Questa versione non supporta i documenti salvati nel formato Xcode 8. Apri questo documento con Xcode 8.0 o successivo.

Errore Xcode 7 Cosa devo fare per tornare indietro, poiché voglio continuare a lavorare su Xcode 7.

In Xcode 8 mi è stato chiesto di selezionare il dispositivo e ho selezionato iPhone 6S, penso che quella parte sia in qualche modo responsabile del file storyboard che non si apre in Xcode 7


7
Ripristina le modifiche al controllo della versione
Wain

1
@Wain Sì, è sempre stata un'opzione, ma ho apportato alcune modifiche non autorizzate e volevo anche conoscere la soluzione (se non richiede tempo)
Bhumit Mehta

Risposte:


212

L'ho immaginato:

Apri il tuo Storyboard in Xcode 8.

Fare clic su File Inspector.

Nella sezione Documento Interface Builder , seleziona Apri in "Xcode 7.x" invece di "Ultimo Xcode (8.0)", come nella seguente schermata:

inserisci qui la descrizione dell'immagine

In questo modo, riceverai un avviso che dice "Il salvataggio per Xcode 7.x chiuderà il documento e i dati per le funzionalità di Xcode 8.0 verranno rimossi".

Fai clic su Salva e chiudi e sarai in grado di aprire lo storyboard in Xode 7.x.


Ho avuto problemi a far sì che la modifica si applicasse, ma quello che ho fatto è stato cambiarla, quindi salvare e chiudere, a quel punto in realtà non è stato salvato perché era ancora grigio, quindi ho abbastanza Xcode (che si bloccava) quindi forzare l'uscita e ora lo storyboard funziona in Xcode 7 phew!
malhal

@Bhumit Mehta Non funziona quando ho 2 diversi storyboard per ipad e iphone. Le modifiche vengono salvate solo per una di esse. Per favore dimmi qualche soluzione alternativa.
marzo

@mars: Devi solo ripetere gli stessi passaggi per entrambi gli storyboard, l'ho provato in un progetto di prova e ha funzionato.
Bhumit Mehta

2
dov'è il documento Interface Builder?
natecraft

10
MA se aprirai di nuovo un progetto in xCode 8 e andrai in uno storyboard - il file dello storyboard verrà nuovamente incasinato e dovrai tornare di nuovo alla 7.x - e di nuovo "Save and
Things

67

Ho una soluzione:

  1. Apri storyboard come "codice sorgente" (fai clic con il pulsante destro del mouse su storyboard -> apri come -> codice sorgente).
  2. Elimina questa riga:

<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
  1. Eliminalo per tutti gli storyboard che stai utilizzando.
  2. Esegui l'app.

13
Dopo aver completato i passaggi precedenti, quando si apre lo storyboard quando il generatore di interfacce Xcode si è bloccato !!!
Elangovan

3
Questo può aver lavorato in XCode 8 Beta. Ma nella versione XCode 8, facendo questo si bloccherà XCode.
GeneCode

questo non funziona ora, ancora errore, e si imposta automaticamente su 8.0 come storyboard aperto
Arfan Mirza

la risposta accettata sembra molto più sicura della semplice cancellazione di una riga
kiedysktos

Sostituire il codice con cifre diverse non funziona per me. Solo eliminando la riga di codice si corregge l'errore. La risposta accettata sembra funzionare solo quando hai già Xcode8.
jinglei

27

È lavoro per me

Fare clic con il pulsante destro del mouse su main.stoaryboard, aprire come -> codice sorgente e modificare le dipendenze

modificare

 <capability name="documents saved in the Xcode 8 format"
     minToolsVersion="8.0"/>  to

   <capability name="documents saved in the Xcode 7 format"
     minToolsVersion="7.0"/>

Segui lo stesso passaggio su launchscreen.stoaryboard


2
Questa è finora la soluzione migliore, nel caso in cui non si disponga di Xcode 8.0
Kampai

2
Grazie per la soluzione. Lo stesso problema si è verificato dopo il passaggio da Xcode 9 a Xcode 8. Ho cambiato "<capacità name =" Safe area layout guides "minToolsVersion =" 9.0 "/>" in <capacità name = "Safe area layout guides" minToolsVersion = "8.0" / >. Dopo questa modifica, quando aprirai lo storyboard in Interface builder, questa riga verrà rimossa.
Amit

10

Lo stesso problema si è verificato dopo il passaggio da Xcode 9 a Xcode 8. Ho aperto lo storyboard nel codice sorgente e ho cambiato

"<capability name="Safe area layout guides" minToolsVersion="9.0"/>" 
to <capability name="Safe area layout guides" minToolsVersion="8.0"/>

Dopo questa modifica, quando aprirai lo storyboard in Interface builder, questa riga verrà rimossa.


grazie mi hai risparmiato alcune ore di lavoro, xcode mi avvisa che sono state trovate e riparate cose strane quindi il mio file andrà bene dopo questa modifica?
brahimm

7

Ho incontrato anche questa domanda. Ho seguito questo metodo per cambiarlo: poiché non potevo fare clic sul menu per scegliere 7.0 o versioni successive, ho aperto main.storyboarde launchscreen.storyboardcon il codice sorgente, quindi ho cambiato la sua versione manualmente e questo ha risolto il problema.


5
Ecco la riga prima delle modifiche: <capacità name = "documenti salvati nel formato Xcode 8" minToolsVersion = "8.0" /> Dopo le modifiche: <capacità name = "documenti salvati nel formato Xcode 7" minToolsVersion = "7.0" />
Dani.Rangelov

La versione di rilascio di XCode 8.0 (non beta) mostra minToolsVersion = "6.0"
GeneCode

4

Poiché XCode 8 continua a convertire costantemente i file dello storyboard nel formato XCode 8 ogni volta che lo apro (è un vecchio progetto e tutto si incasina), ho finito per scaricare XCode 7 e usarlo solo per modificare i file dello storyboard (e chiuderlo prima di tornare a XCode 8). Se apro accidentalmente il file dello storyboard in 8, reimposto quel file all'ultimo commit, poiché il progetto è su GIT.

Stupido, lo so, ma funziona.


3
<dependencies>
    <deployment identifier="iOS"/>
    <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9049"/>
    <capability name="Constraints to layout margins" minToolsVersion="6.0"/>
</dependencies>

Sostituisci le tue dipendenze con queste dipendenze


0

Apri storyboard come Source Codee cerca la minToolsVersionchiave. Imposta quel valore come 7.0 e apri quello storyboard in Xcode 7.x


0

Come @Bhumit_Metha ha dato una soluzione semplice. Sfortunatamente, nel mio caso non ho MAC con l'ultima versione di Xcode (8.0+), apporta queste modifiche per supportare i nuovi file "xib" nel mio vecchio xcode (7.x).

Quindi ho finito con una soluzione funzionante con semplici passaggi come segue:

[1] Crea un file xib vuoto nel tuo xcode 7.x.

[2] Fare clic con il pulsante destro del mouse sullo xib vuoto per visualizzare l'origine e copiare tutto ciò.

[3] Ora apri un nuovo xib (uno con errore di versione) nel visualizzatore dei sorgenti. Incolla il codice precedente in alto.

[4] Sostituisci tutte le righe del vecchio con il nuovo tag interno: <objects> ...... </objects>

E questo è tutto. Funzionerà con compatibile con xcode 7.x!

Suggerimento: durante l'apertura successiva in un nuovo xcode, assicurati di selezionare la modalità di compatibilità.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.