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?
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.
Ich habe ein Storyboard aus einer benutzerdefinierten Cocoapod verwendet und es stürzte immer wieder mit
zusammenEs 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.
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:
Ab jetzt funktionieren Storyboards wie zuvor!
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;
In unserem Fall haben wir ein Shell-Skript ausgeführt, das eines der Befehlszeilentools von XCode, ibtool
,
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.
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.
Tags und Links objective-c ios xcode storyboard