Das Dokument Main.storyboard erfordert Xcode 8.0 oder höher

94

Ich habe Xcode Beta heruntergeladen und mein vorhandenes Projekt geöffnet, um zu sehen, wie es mit Xcode 8 Beta funktioniert (ich habe die Storyboard-Datei von Xcode 8 geöffnet).

Wenn ich jetzt mein Projekt über Xcode 7.3 öffne, kann ich die Storyboard-Datei nicht öffnen. Es wird folgende Fehlermeldung angezeigt

Diese Version unterstützt keine Dokumente, die im Xcode 8-Format gespeichert sind. Öffnen Sie dieses Dokument mit Xcode 8.0 oder höher.

Xcode 7 Fehler Was soll ich tun, um zurück zu kehren, da ich weiter an Xcode 7 arbeiten möchte?

In Xcode 8 wurde ich aufgefordert, das Gerät auszuwählen, und ich habe das iPhone 6S ausgewählt. Ich denke, dieser Teil ist irgendwie dafür verantwortlich, dass die Storyboard-Datei nicht in Xcode 7 geöffnet wird

Bhumit Mehta
quelle
7
Änderungen in der Versionskontrolle rückgängig machen
Wain
1
@Wain Ja, das war immer eine Option, aber ich hatte einige nicht festgeschriebene Änderungen und wollte auch die Lösung wissen (wenn nicht zeitaufwändig)
Bhumit Mehta

Antworten:

212

Ich habe es herausgefunden:

Öffnen Sie Ihr Storyboard in Xcode 8.

Klicken Sie auf den Dateiinspektor.

In Interface Builder Dokument Wählen Sie im Abschnitt öffnet sich in "Xcode 7.x" anstelle von "Neueste Xcode (8,0)", wie er in den folgenden Screenshot:

Geben Sie hier die Bildbeschreibung ein

Auf diese Weise erhalten Sie eine Warnmeldung: "Durch Speichern für Xcode 7.x wird Ihr Dokument geschlossen und Daten für Xcode 8.0-Funktionen werden entfernt."

Klicken Sie auf Speichern und schließen, um das Storyboard in Xode 7.x zu öffnen.

Bhumit Mehta
quelle
Ich hatte Probleme, das Wechselgeld zum Festhalten zu bringen, aber ich habe es geändert, dann gespeichert und geschlossen. Zu diesem Zeitpunkt wurde es nicht wirklich gespeichert, weil es noch grau war. Dann habe ich ganz Xcode (der hing), dann zwangsweise das Beenden und jetzt Das Storyboard funktioniert in Xcode 7 Puh!
Malhal
@ Bhumit Mehta Es funktioniert nicht, wenn ich 2 verschiedene Storyboards für iPad und iPhone habe. Änderungen werden nur für einen von ihnen gespeichert. Bitte sagen Sie mir eine Problemumgehung.
Mars
@mars: Sie müssen nur die gleichen Schritte für beide Storyboards wiederholen. Ich habe es in einem Testprojekt versucht und es hat funktioniert.
Bhumit Mehta
2
Wo ist das Interface Builder-Dokument?
Natecraft1
10
ABER wenn Sie erneut ein Projekt in xCode 8 öffnen und in ein Storyboard wechseln, wird die Storyboard-Datei erneut durcheinander gebracht und Sie müssen erneut auf 7.x umschalten - und erneut auf "Speichern und Cose"
Massmaker,
67

Ich habe eine Lösung:

  1. Storyboard als "Quellcode" öffnen (Rechtsklick auf Storyboard -> Öffnen als -> Quellcode).
  2. Löschen Sie diese Zeile:

<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
  1. Löschen Sie dies für alle Storyboards, die Sie verwenden.
  2. App ausführen.
Himanshu
quelle
13
Nach dem Ausführen der obigen Schritte stürzte Xcode beim Öffnen des Storyboards als Interface Builder ab !!!
Elangovan
3
Dies hat möglicherweise in XCode 8 Beta funktioniert. In XCode 8 wird XCode dadurch jedoch zum Absturz gebracht.
GeneCode
Dies funktioniert jetzt nicht, immer noch Fehler, und es wird automatisch auf 8.0 gesetzt, wenn das Storyboard geöffnet wird
Arfan Mirza
Die akzeptierte Antwort klingt weitaus sicherer als nur das Löschen einer Zeile
kiedysktos
Das Ersetzen des Codes durch andere Zahlen funktioniert bei mir nicht. Nur das Löschen der Codezeile behebt den Fehler. Die akzeptierte Antwort scheint nur zu funktionieren, wenn Sie bereits Xcode8 haben.
Jinglei
27

Es ist Arbeit für mich

Klicken Sie mit der rechten Maustaste auf main.stoaryboard.Go, um als -> Quellcode zu öffnen und Abhängigkeiten zu ändern

Veränderung

 <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"/>

Befolgen Sie den gleichen Schritt auf launchscreen.stoaryboard

Preeti
quelle
2
Dies ist bis jetzt die beste Lösung für den Fall, dass Sie nicht Xcode 8.0
Kampai
2
Danke für die Lösung. Das gleiche Problem trat nach dem Wechsel von Xcode 9 zu Xcode 8 auf. Ich habe "<Capability Name =" Sicherheitsbereich-Layout-Anleitungen "minToolsVersion =" 9.0 "/>" in <Capability Name = "Sicherheitsbereich-Layout-Anleitungen" minToolsVersion = "8.0" / geändert. >. Nach dieser Änderung, wenn Sie das Storyboard im Interface Builder öffnen, wird diese Zeile entfernt.
Amit
10

Das gleiche Problem trat nach dem Wechsel von Xcode 9 zu Xcode 8 auf. Ich habe das Storyboard im Quellcode geöffnet und geändert

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

Nach dieser Änderung, wenn Sie das Storyboard im Interface Builder öffnen, wird diese Zeile entfernt.

Amit
quelle
Wenn Sie mir einige Stunden Arbeit erspart haben, warnt mich xcode, dass etwas Seltsames gefunden und repariert wurde, damit meine Datei nach dieser Änderung in Ordnung ist?
Brahimm
7

Ich habe diese Frage auch getroffen. Ich habe diese Methode befolgt, um sie zu ändern: Da ich nicht auf das Menü klicken konnte, um 7.0 oder höher auszuwählen, habe ich das main.storyboardund launchscreen.storyboardmit dem Quellcode geöffnet , als ich die Version manuell geändert habe, und dies hat das Problem behoben.

Michael Tangs
quelle
5
Hier ist die Zeile vor den Änderungen: <Capability Name = "Im Xcode 8-Format gespeicherte Dokumente" minToolsVersion = "8.0" /> Nach den Änderungen: <Capability Name = "Im Xcode 7-Format gespeicherte Dokumente" minToolsVersion = "7.0" />
Dani.Rangelov
XCode 8.0 Release-Version (nicht Beta) zeigt minToolsVersion = "6.0"
GeneCode
4

Da XCode 8 jedes Mal, wenn ich es öffne, ständig Storyboard-Dateien in das XCode 8-Format konvertiert (es ist ein altes Projekt und alles wird durcheinander gebracht), habe ich XCode 7 heruntergeladen und es nur zum Bearbeiten von Storyboard-Dateien verwendet (und vor i geschlossen) zurück zu XCode 8). Wenn ich versehentlich die Storyboard-Datei in 8 öffne, setze ich diese Datei einfach auf das letzte Commit zurück, da sich das Projekt auf GIT befindet.

Dumm, ich weiß, aber es funktioniert.

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

Ersetzen Sie Ihre Abhängigkeiten durch diese Abhängigkeiten

Jason
quelle
0

Öffnen Sie das Storyboard als Source Codeund suchen Sie nach dem minToolsVersionSchlüssel. Setzen Sie diesen Wert auf 7.0 und öffnen Sie das Storyboard in Xcode 7.x.

iOS_Developer
quelle
0

Als @Bhumit_Metha gegebene direkte Lösung. Leider habe ich in meinem Fall keinen MAC mit der neuesten Xcode (8.0+) Version. Nehmen Sie diese Änderungen vor, um neue 'xib'-Dateien in meinem alten xcode (7.x) zu unterstützen.

So kam ich zu einer funktionierenden Lösung mit einfachen Schritten wie folgt:

[1] Erstellen Sie eine leere xib-Datei in Ihrem xcode 7.x.

[2] Klicken Sie mit der rechten Maustaste auf die leere xib, um die Quelle anzuzeigen und alles zu kopieren.

[3] Öffnen Sie jetzt die neue xib (eine mit Versionsfehler) im Quell-Viewer. Fügen Sie den vorherigen Code oben ein.

[4] Ersetze alle alten Zeilen durch neue innere Tags: <objects> ...... </objects>

Und das ist alles. Funktioniert mit kompatiblem xcode 7.x!

Tipp: Achten Sie beim nächsten Öffnen in neuem xcode darauf, den Kompatibilitätsmodus auszuwählen.

von Jeevan
quelle