Ich bekomme einen seltsamen Fehler: 'Could not find a storyboard named 'Main' in bundle NSBundle'
, wenn ich meine App auf einem echten iOS-Gerät ausführen möchte.
Ich habe die Datei in meinem Verzeichnis, und es funktioniert gut im Simulator. Im Abschnitt Copy Bundle Resources
ist die Datei Main.storyboard
jedoch rot.
Ich habe versucht, es zu entfernen und erneut hinzuzufügen, Xcode neu zu starten, Build zu bauen usw. ohne Erfolg. Dies ist die Warnung, die ich in Xcode bekomme:
/Users/ajay/Documents/avx/avx/Base.lproj/Main.storyboard: Internationalization of /Users/ajay/Documents/avx/avx/Base.lproj/Main.storyboard is not available when compiling for targets before iOS 6.0
Ich habe die App von meinem Telefon gelöscht, Produkt -> Reinigen durchgeführt und sie erneut geladen. Das war alles für mich.
Ich habe diesen Fehler bekommen, aber ich hatte vor, Storyboards komplett zu entfernen.
Durch Entfernen des Schlüssels "Main Storyboard-Dateiname" aus meiner Liste wurde der Fehler behoben.
Grund, woran ich denken könnte:
Nach meinem iOS-Wissen war dies nur der Fall, weil der XCode den Verweis auf die Main.storyboard-Datei in meinem Projektverzeichnis nicht finden konnte, um ihn in die App zu kopieren.
Auflösung:
Die Main.storyboard-Datei ausgewählt und versucht zu löschen, und aus dem Dialogfeld, das wie folgt angezeigt wird:
Klicken Sie auf die Schaltfläche "Referenz entfernen".
Dann von der tatsächlichen Stelle, an der ich die Main.storyboard-Datei im Projektverzeichnis finden konnte, gezogen und in den X-Code gezogen, und erneut aus dem Dialog, der wie folgt erscheint:
Ich entschied mich für "Ordnerreferenzen erstellen" (weil ich dies beabsichtigt habe, weil ich die Datei- und Ordnerstruktur meines Projekts geändert habe). Meistens funktioniert die Auswahl von "Gruppen erstellen" jedoch auch. Und auf "Fertig stellen" geklickt. Meine Storyboard-Dateien befanden sich bereits wie im Screenshot gezeigt in einem Base.lproj
-Verzeichnis wie folgt:
Hinweis: Eine wichtige Sache, die Sie in diesem Schritt daran erinnern sollten, ist, dass Sie das Kontrollkästchen "Zu Zielen hinzufügen" in Ihrer App aktivieren.
Reinigen Sie das Produkt, bauen Sie es erneut auf, und wenn es erfolgreich ist, versuchen Sie es meistens, um es auszuführen.
Hoffe, das könnte jemand anderem da draußen helfen! Ich habe dies auf XCode 7.3.1 und auf iOS Sim 9.3 und iPhone 6S ausprobiert!
Der Simulator unterscheidet nicht zwischen Groß- und Kleinschreibung, das Gerät jedoch. Wenn Ihr Storyboard MainStoryboard und nicht MainStoryBoard heißt, wird dies zu Ihrem Problem führen
main.storyboard -> only main ist der Name des Storyboards
Wie Kalpit Gajera gesagt hat, "öffnen Sie die info.plist Ihres Projekts und entfernen Sie die ausgewählte Zeile, die im Screenshot angezeigt wird". Sie entfernen einfach den Basisnamen der Haupt-Storyboard-Datei aus der Info.plist. Nach dem Entfernen, Reinigen und Ausführen schlägt das Programm nicht mehr fehl, es wird jedoch ein schwarzer Bildschirm angezeigt. Öffnen Sie die Info.plist erneut und fügen Sie die Zeile manuell wieder ein. Problem gelöst.
Das Löschen einer Zeile in plist verursachte auch schwarzen Bildschirm in meiner App. Und ich habe es behoben, indem ich Zielmitgliedschaft des Storyboards aktiviert habe
Zwei verschiedene Lösungen, die nach dem Upgrade auf Xcode 10.1 für mich funktionierten:
In Datei-> Arbeitsbereich- (oder Projekt-) Einstellungen . Wechseln Sie zu Legacy Build System .
Entfernen Sie in Ihren Zielen Build Phases den Ordner Base.lproj aus Copy Bundle Resources (sofern aufgeführt) und stellen Sie sicher, dass jedes Ihrer Storyboards separat aufgeführt und kopiert wird.
Nachdem Sie eines der oben genannten Updates angewendet haben, stellen Sie sicher, dass Sie Clean Build Folder aus dem Product-Menü einmal löschen. Andernfalls funktionieren die Fixes möglicherweise nicht ordnungsgemäß.
Mein Problem wurde behoben, indem das Suffix .xml
aus dem Main.storyboard.xml file
entfernt wurde.
Anscheinend hat sich das Suffix gegenüber der Version geändert, aus der ich das Projekt importiert habe.
Daher wurde das Problem behoben, indem die Datei umbenannt (das Suffix .xml
wurde entfernt) und neu gestartet und anschließend Project-> clean....
.
Meine Lösung ist:
Wenn ich eine Seque-Verbindung zwischen zwei Ansichten hinzufügte und in der Projektkonfiguration das Bereitstellungsziel kleiner als 8,0 ist, erhalte ich diesen Fehler.
ok, einfaches Verständnis, wenn Sie für IOS 6.0 entwickeln (zum Beispiel), können Sie Seque nicht verwenden, da der Seque IOS 8.0 oder höher benötigt ......;
also habe ich das Implementierungsziel auf 8.0 gesetzt und der Fehler ist weg !!!! Währenddessen storniere ich alle Segue-Verbindungen und handhabt es mit IBAction, alte Schule ;-)
Ok, das war ein Prozess. So viele verschiedene Dinge ausprobieren. Xcode 6.4 unter OS 10.11 ausführen. Das kann das 'Main'-Problem nicht finden. Was ich schließlich getan habe, war, das main.storyboard von Finder auf meinem Desktop zu verschieben. xcode neu gestartet, jetzt mit rotem main.storyboard. Ich lasse es praktisch das gleiche tun. dann klicke ich mit der rechten Maustaste auf den Projektordner und wähle die Option Dateien hinzufügen in .... Navigiere zu dem Ordner, in dem er sich befindet, und öffne ihn. Wenn es dann rechts ist, sollte der Identitätsinspektor sein. Klicken Sie auf den kleinen Ordner unter Standort. Navigieren Sie erneut zu diesem Ordner und wählen Sie Auswählen. Dann lief ich und es hat funktioniert. Amen !!!
Dies ist mir gerade beim Versuch, meine App im Simulator auszuführen, aufgefallen. Die Datei war vorhanden und ein Mitglied des Ziels, das ich ausführen wollte.
Nach einem Product->Clean
weggegangen.
Ich verschob die Main.Storyboard-Datei in den "blauen" Unterordner, der Probleme verursachte. Ich musste nach diesen Anweisungen Unterordner hinzufügen Xcode 6.3 New File Issue
die Main.Storyboard-Datei in den gelben Unterordner zu verschieben, funktionierte für mich
wählen Sie main.storyboard aus, ändern Sie die Ansicht in iOS 6.1 und frühere Versionen. xcode sagt dann, was Sie tun müssen.