XCode kein gültiges kompiliertes Storyboard im Pfad

7

Ich habe ein universelles XCode-Projekt (ObjC) für iPad und iPhone mit einem Teilprojekt, das ein Storyboard enthält. Das Teilprojekt ist eine statische Bibliothek, die dem Hauptprojekt hinzugefügt wurde. In diesem Teilprojekt ist ein Paket enthalten, das ein maßgeschneidertes Storyboard enthält.

Wenn ich auf einen bestimmten Button der Anwendung tippe, muss das Storyboard geladen werden;

%Vor%

Das funktioniert perfekt für das iPhone (Geräte und Simulatoren), aber wenn ich versuche, das Projekt auf einem iPad (Gerät oder Simulator) auszuführen, bekomme ich den folgenden Fehler:

%Vor%

Was ist los? Das Projekt ist ein universelles Projekt, warum kann das iPad das Storyboard nicht finden?

    
AlBirdie 10.04.2015, 14:08
quelle

8 Antworten

16

Um meine eigene Frage zu beantworten;

Dieser Fehler tritt auf, wenn das Bündelziel nicht universell ist. Stellen Sie daher sicher, dass die Zielgruppe der Geräte in den Build-Einstellungen des Pakets auf iPhone UND iPad eingestellt ist.

    
AlBirdie 10.04.2015, 14:26
quelle
3

Dies ist nach dem Umschalten eines Projekts von einem Universal-Ziel nur auf iPad und dem Bereitstellungsziel von iOS 9.0 auf iOS 7.1 geschehen.

Die Lösung bestand darin, "Größenklassen verwenden" im Storyboard zu deaktivieren und nur die Größen für das iPad beizubehalten.

Um zu diesem Kontrollkästchen zu gelangen, öffnen Sie das Storyboard im Projektnavigator, wählen Sie dann den Dateiinspektor (erstes Symbol) und scrollen Sie nach unten zur Überschrift des Interface Builder-Dokuments.

    
spanndemic 05.10.2015 15:24
quelle
2

Ich habe ein Storyboard aus einer benutzerdefinierten Cocoapod verwendet und es stürzte immer wieder mit

zusammen
  

Es scheint kein "gültiges kompiliertes Storyboard" im Pfad zu geben ...

Im betroffenen Storyboard habe ich unter "Interface Builder Document" den Wert "Builds for" von "iOS 7.0 oder höher" auf "Project Deployment Target" (was 9.0 war) gesetzt, was für mich der Trick war.

    
endowzoner 13.10.2015 07:25
quelle
0

Tut mir leid für meine früheren Kommentare.
Ich weiß nicht, warum es nicht funktioniert hat, aber im Moment habe ich das Problem mit den folgenden Schritten behoben:

  1. Gehe zu Projektziel - & gt; Info und löschen Sie dann das KeyValue-Objekt für key Haupt-Storyboard-Dateibasisname und Haupt-Storyboard-Dateibasisname (iPad) .
  2. Um sicherzustellen, dass es vollständig entfernt wurde, gehen Sie zur Info.plist-Datei und vergewissern Sie sich, dass die KeyValue-Objekte dort nicht vorhanden sind. Wenn sie sind, dann lösche auch von dort.
  3. Entfernen Sie Verweise auf Storyboards aus dem Xcode-Projekt.
  4. Hinzufügen von Storyboards zurück zum Projekt durch Rechtsklick auf das Projekt in Xcode - & gt; Fügen Sie Dateien zu Projektname hinzu, aktivieren Sie die Optionen Elemente kopieren, falls erforderlich , Gruppen erstellen und Projektzieloptionen.
  5. Setzen Sie Storyboards Namen für iPhone und iPad in Project Target - & gt; Info, indem zuvor entfernte KeyValue-Objekte hinzugefügt werden.

Ab jetzt funktionieren Storyboards wie zuvor!

    
saltwat5r 17.04.2015 08:04
quelle
0

Ich habe versucht, dieses Problem für 2 Tage ohne Hoffnung zu beheben, bis ich fand, dass es auch nicht die SQL-DB-Datei geöffnet hat und danach alles nach diesem DB-Fehler beschädigt ist. das war mein Fall. Und all das war ein Speicherproblem, selbst wenn ARC Arrays oder Wörterbücher nach dem Beenden auf null setzen würde;

    
nmortada 12.08.2015 12:43
quelle
0

In unserem Fall haben wir ein Shell-Skript ausgeführt, das eines der Befehlszeilentools von XCode, ibtool ,

, ausgeführt hat %Vor%

und während es schien ohne Fehler zu laufen, erzeugte es tatsächlich ein leeres storyboardc -Verzeichnis. Durch das Aktualisieren des minimalen Bereitstellungsziels auf 8.0 wurde ein korrekt erstelltes storyboardc mit einer Info.plist -Datei erstellt. Wenn IBTool ein leeres Verzeichnis ausfällt / erzeugt, denke ich definitiv, dass es tatsächlich fehlschlagen sollte, und die Kompilierung zu beenden, weil sonst alles so aussieht, als wäre es richtig eingerichtet und korrekt, es ist es tatsächlich nicht.

Also, die Lösung für uns bestand darin, das Mindesteinsatzziel unserer App zu aktualisieren.

    
seaders 12.01.2016 16:40
quelle
0

Ich hatte dieses Problem aufgrund von Änderungen in der Storyboardfarbe des Statusleistenstils und wurde in den Projekteinstellungen nicht geändert

    
Irrr Riiiiiii 06.05.2017 00:54
quelle
0

Für mich ist Lösung:

Ich habe diesen Code benutzt, um einen neuen View Controller zu laden - [UIStoryboard storyboardWithName: @ "UIViewController" bundle: nil];

Zuerst habe ich versucht - [UIStoryboard storyboardWithName: @ "UIViewController" -Bundle: [NSBundle mainBandle]];

Aber kein Glück, endlich habe ich diesen Code geändert zu:

[self performSegueWithIdentifier: @ "Segue" Absender: self];

Und es hat geholfen, vielleicht kann es auch jemandem helfen.

    
NazarYavornytskyy 15.06.2017 18:13
quelle

Tags und Links