Ich möchte einen einfachen Startbildschirm in meiner App anzeigen, der mit Xcode 6.0.1 erstellt wurde.
Ich habe einen Startbildschirm auf zwei Arten hinzugefügt: Als XIB (mit dem Standardnamen LaunchScreen.xib) und als Startbild, das in xcassets festgelegt ist.
Ich habe sichergestellt, dass meine "Launch Screen File" auf LaunchScreen.xib eingestellt ist.
Ich habe jedes verfügbare Gerät simuliert (z. B. "iPhone5 iOS8" / "iPhone5s iOS8" / "iPhone6 iOS8". Beachten Sie, dass im Simulator nur iOS 8 verfügbar ist).
ios8
xcode6
xcasset
launchimage
Eddie Hartman
quelle
quelle
Antworten:
Das war ziemlich schmerzhaft für etwas, das trivial sein sollte. Folgendes habe ich getan:
Verwenden Sie xcassets
Ich habe mich entschieden, .xcassets gegenüber der .xib für den Start zu verwenden. Ich habe die .xib gelöscht. Wenn Sie bereits images.xcassets in Ihrem Projekt haben, ist das großartig, andernfalls können Sie eine über Datei> Neu> Datei hinzufügen:
Erstellen Sie einen Startbildsatz
Erstellen Sie jetzt mindestens einen Startbildsatz und einen Symbolsatz in Ihrer .xcassets-Datei, indem Sie mit der rechten Maustaste in den Navigatorbereich klicken.
Aktualisieren Sie die App-Symbole und starten Sie die Bildeinstellungen
Dann habe ich sichergestellt, dass das "Apps-Symbol und die Bildersätze" in meinem Ziel wie folgt sind.
Sehr wichtig: Stellen Sie sicher, dass die Einstellung "Bildschirmdatei starten" leer ist.
Fügen Sie die Bilder hinzu
Last but not least ist die von Apple für die Geräteauswahl verwendete Terminologie verwirrend. Anfangs dachte ich, da ich nur für iOS8 (iPhone Portrait) bereitstelle, kann ich dies tun und einfach die Startbilder für iPhone 6 und iPhone 6+ einfügen:
Mir wurde schnell klar, dass dies nicht der Fall ist, und ich erhielt eine Warnung: "Ein iPhone Retina (4 Zoll) -Startbild für iOS 7.0 und höher ist erforderlich."
Also musste ich das iPhone auch unter iOS 7.0 und höher auswählen und ein Bild für das iPhone 5s hinzufügen.
Um herauszufinden, welche Kästchen rechts angekreuzt werden müssen, stellen Sie nicht die Frage: Was ist meine minimale iOS- und Geräte- und Geräteorientierung, sondern fragen Sie:
Welche Geräte können mein Mindest-iOS unterstützen? Was ist das Minimum, das iOS auf diesen Geräten unterstützt? Und stellen Sie sicher, dass Sie alle diese Kontrollkästchen aktivieren. Daher ziele ich auf iPhone 5s, 6 und 6 Plus auf 8.0 ab. Da iPhone 5s jedoch mit 7.0 existieren kann, muss ich auch das Kontrollkästchen 7.0 aktivieren, um den Bildplatzhalter anzuzeigen. Mit anderen Worten, das Kontrollkästchen (iOS) auf der rechten Seite zeigt Ihnen die für dieses Gerät verfügbare iOS-Mindestversion an. Sie müssen darauf klicken, um den Bildplatzhalter anzuzeigen und ein Bild einzufügen, unabhängig davon, ob Sie diese iOS-Version bereitstellen oder nicht .
Hoffe das hilft jemandem.
quelle
Der
LaunchScreen.xib
und der Info-WertLaunch screen interface file base name
sind meiner Erfahrung nach beide Platzhalter, die beim Erstellen des Projekts erstellt werden. Wenn Sie dasImages.xcassets
exklusiv für Ihre Startbildschirme verwenden möchten , löschen Sie sowohl dasLaunchScreen.xib
als auch dasinfo.plist
Element.Wenn Sie die
info.plist
Einstellung angeben, verwendetxib
Ihre App die und nicht IhreImages.xcassets
quelle
Xcode 8:
In LaunchScreen.xib verwendete Bilder sollten sich nicht auf einer .xcassets-Datei befinden. Versuchen Sie, sie im Bundle abzulegen.
Zum Zeitpunkt des Ladens der .xib sind die Bilder in den .xcassets noch nicht verfügbar.
BEARBEITEN: Aus irgendeinem undurchsichtigen Grund funktionierte der Startbildschirm nach dem Hinzufügen einiger Lokalisierungen nicht mehr. Jetzt funktioniert er mit einem Bild aus den Assets, was äußerst seltsam ist.
quelle
/Library/Caches/Snapshots/<<app_bundle>>/
vor dem Laden unterstützender Dateien, einschließlich benutzerdefinierter Schriftarten und des Asset-Katalogs.Meine Lösung bestand darin, alle Startbilder zu erstellen.
Dann setze ich die Launch Images Source auf das LaunchImage-Asset und lasse die Startbildschirmdatei leer.
Wenn das Projekt keine Launch Screen.xib hat, fügen Sie diese Datei hinzu und lassen Sie sie unverändert.
quelle
Bei mir hat es funktioniert, als ich die App deinstalliert und dann den Simulator neu gestartet habe. Bei erneuter Installation wurde das Startabbild wie erwartet angezeigt. Dies funktionierte auch auf einem tatsächlichen Gerät.
quelle
Für die Leute, die das verwenden
Asset Catalog's Launch Image
, hatte ich, da ich dies am schwierigsten gelernt habe, dieses Szenario, in dem ich zuerst einejpg
Datei erhielt und sie dann bat, sie in eine zu konvertierenPNG
.Ich vertraute ihnen genug, dass ich zuerst im Internet nach dem Grund suchte, warum das Startbild nicht angezeigt wurde, und jede Lösung ohne Erfolg durchführte. Dann versuchte ich, das alte Startbild zurückzusetzen und funktionierte einwandfrei. Dort dachte ich, was ich dachte have ist keine richtige
PNG
Datei.TL; DR: Stellen Sie sicher, dass Sie tatsächlich eine richtige PNG-Datei verwenden, keine Datei mit einer umbenannten Erweiterung.
quelle
Das Entfernen von "Launch Screen Interface File Base Name" aus der Info.plist-Datei und das Löschen von "Launch Screen.xib" hat bei mir funktioniert.
quelle
Das einfache Entfernen und Neuinstallieren der App hat bei mir funktioniert:
Testen im Simulator
Testen auf dem Gerät
quelle
Das Problem mit der akzeptierten Antwort besteht darin, dass sich Ihre Anwendung auf Geräten wie dem iPhone 6 & 6+ => verschwommenes Rendern im Upscaling-Modus befindet, wenn Sie die Startbildschirmdatei nicht festlegen.
Im Folgenden ist aufgeführt, was ich getan habe, um auf jedem Gerät eine vollständig funktionierende Lösung (ich ziele auf iOS 7.1 und verwende Xcode 8) zu haben (wirklich, ich war verrückt nach diesem Upscaling-Problem).
1. Bereiten Sie Ihre .xcassets vor
Zur Vereinfachung verwende ich eine Vektor-PDF-Datei. Es ist sehr praktisch und vermeiden Sie das Erstellen mehrerer Bilder für jede Auflösung (1x, 2x, 3x ...). Ich gehe auch davon aus, dass Sie hier bereits Ihre xcassets erstellt haben.
2. Erstellen Sie Ihre Startbildschirmdatei
3. Fügen Sie Ihr Bild zu Ihrer Startbildschirmdatei hinzu
4. Fügen Sie Ihre Startbildschirmdatei zu Ihrem Ziel hinzu
Verweisen Sie in Ihren Eigenschaften "Allgemeines Ziel" auf die Startbildschirmdatei.
Starten Sie Ihre App und Ihr Begrüßungsbildschirm sollte angezeigt werden. Versuchen Sie es auch auf iPhone6 und iPhone6 +, und Ihre Anwendung sollte ohne Hochskalierung korrekt angezeigt werden (die Startbildschirmdatei zielt darauf ab).
quelle
Nachdem ich einige Stunden frustriert war, entschied ich mich für diesen Weg. Es funktioniert sowohl für iPhone als auch für iPad (auf Xcode 6.1)
1 Bild sagt mehr als tausend Worte. Bitte schauen Sie unten:
quelle
Ich habe über einen Fehler in Xcode 6 gelesen, der verhindert, dass Apps nur im Querformat ein Startbild anzeigen.
Versuchen Sie, Bilder und Ausrichtung in Images.xcassets festzulegen:
quelle
Es gibt einen Fehler, bei dem Xcode 6-Startbilder, die in Asset-Dateien gespeichert sind, dazu führen, dass Apps für die iPhone-Landschaft unter iOS7 / iOS8 ein schwarzes Startbild anzeigen. iPad funktioniert gut.
http://www.raywenderlich.com/forums/viewtopic.php?f=2&t=10868
Lösung: Verwenden Sie die neue Launchscreen.xib ab ios8 +. (es ist viel besser)
Damit ios7-Geräte funktionieren, deaktivieren Sie einfach die Startbildquelle und verwenden die Dateinamen der Startbilder der alten Schule in der Liste
Schmerzhaft, funktioniert aber. B.
quelle
Ich habe alles versucht, aber die Lösung war extrem einfach. Verwenden Sie einfach die JPG-Datei anstelle der PNG-Datei auf Ihrem LaunchScreen.storyboard. Es scheint, als würde iOS keine PNG-Datei oder eine relativ große Bildgröße auf dem Startbildschirm rendern.
quelle
Tun Sie, was Spectravideo328 beantwortet hat und:
Versuchen Sie, das Kontrollkästchen für iOS 7 und höher und das Kontrollkästchen für iOS 6 und höher im Asset-Katalog zu deaktivieren. Es scheint einen Fehler mit dem iOS 7 Launch Image zu geben. (Beide haben die gleichen Startbilder mit Ausnahme des 320x480).
Hoffe das hilft, es hat mir geholfen!
quelle
Ich habe "LaunchImage" in meinem Asset-Katalog eingerichtet und einfach das Feld "Launch Screen" et voila! Ich hatte die Startbilder erscheinen ...
quelle
Eine Möglichkeit besteht darin, auch "Startbildschirm" (
LaunchScreen.xib
) hinzuzufügen , das Bild einzufügenUIImageView
und es dann in "Ausrichten" auf " Horizontale Mitte im Container " und " Vertikale Mitte im Container " zu setzen, wenn Sie das automatische Layout verwenden.Bildschirm: http://i.stack.imgur.com/CfnHT.png
Vergessen Sie nicht,
LaunchScreen.xib
in "Launch Screen File" zu setzen.quelle
Ich hatte das gleiche Problem, nachdem ich Xcode 6.1 verwendet und meine Launcher-Bilder geändert hatte. Ich hatte alle Bilder in einem Asset-Katalog. Ich würde nur einen schwarzen Bildschirm anstelle des erwarteten statischen Bildes erhalten. Nachdem ich so viele Dinge ausprobiert hatte, stellte ich fest, dass das Problem darin bestand, dass im Asset-Katalog das Projekt 'Zielmitgliedschaft' in der FileInspector-Ansicht abgehakt war. Wenn Sie es auf EIN setzen, wurde die Magie ausgelöst und das Bild wurde beim Start der App angezeigt.
quelle
Mein Vorschlag an Sie ist, Bildquelle als Image.Assets starten auszuwählen. Erstellen Sie dort im Ordner Image.assests Splash-Image-Assets.
Referenzbild für die richtige Konfiguration:
quelle
Ich habe versucht, ein neues Projekt zu öffnen und die gleichen Schritte auszuführen, die Sie zum Einstellen eines Startbildschirms ausgeführt haben.
Standardmäßig wurde die .xib als "Startbildschirmdatei" festgelegt, und der weiße Bildschirm mit einer Beschriftung wurde im Simulator eine halbe Sekunde lang angezeigt.
Ich habe dann eine "Launch Images Source" und setze sie auf die Images.xcassets, die mit den Hintergrundbildern generiert wurden, die ich dem Projekt hinzugefügt habe. (alles gut soweit)
Führen Sie den Simulator erneut aus und die Startbilder werden nicht angezeigt ...
Nach dem Löschen der angegebenen "Startbildschirmdatei" und einer Bereinigung: Produkt -> Bereinigen werden im oberen Menü die Startbilder angezeigt.
Vielleicht hilft das?
quelle
Es wird automatisch eine Datei 'LaunchScreen.xib' zu Ihrem Projekt hinzugefügt. Wenn Sie diese Datei löschen, wird xCode auf die Verwendung Ihrer Standardbilder in Images.xcassets verschoben
bearbeitet, um zu App-Symbolen zu wechseln und Bilder zu starten Der Startbildschirm sollte leer / leer sein
quelle
Ich hatte einen sehr seltsamen Fehler. Anscheinend war meine Start-Image-Quelle nur für die Debug-Konfiguration und nicht für die Veröffentlichung eingestellt. Dies führte dazu, dass mein Startbildschirm angezeigt wurde, wenn die Debug-Konfiguration ausgeführt wurde. Als ich jedoch zu Release wechselte, wurde nur ein schwarzer Bildschirm angezeigt.
Ich habe dies behoben, als ich meine Build-Konfiguration geändert habe, um die Schaltfläche "Bildquelle starten" freizugeben. Ich musste erneut "Asset-Katalog verwenden" auswählen.
Für diejenigen, die neugierig sind, sah mein project.pbxproj so aus.
quelle
Aus irgendeinem Grund musste ich den Speicherort des Asset-Katalogs in "relativ zum Projekt" ändern, damit dies funktioniert.
Ich hatte die App auch von meinem Telefon gelöscht und neu installiert, aber es war wahrscheinlich der "relativ zum Projekt", der dies tat.
quelle
* (Xcode 7.2 / Bereitstellungsziel 7.0 / Nur Querformat) *
Ich weiß, dass es eine alte Frage ist, aber mit Xcode 7.2 erhalte ich immer noch die Nachricht und habe dies behoben:
1) Wählen Sie PORTRAIT und beide Landschaften. Fügen Sie "Launch Images Source" und "Launch Screen File" hinzu
2) Wählen Sie in Ihrem Startbild das iPhone "8.0 und höher" und "7.0 und höher".
3) Fügen Sie diesen Code in Ihr appDelegate ein:
4) Fügen Sie dies Ihrem ViewController hinzu
Ich hoffe, jemand anderem zu helfen.
quelle
Das ist für mich gearbeitet. Klicken Sie auf LaunchScreen.storyboard und aktivieren Sie im rechten Bereich das Kontrollkästchen "Is Initial View Controller".
LaunchScreen.storyboard -> Ist Initial View Controller
quelle
Ich habe das gerade herausgefunden. Mein Startbild wurde nicht angezeigt. Beim Starten auf einem Gerät (iPhone 6, 7+) oder testFlight wird ein weißer Bildschirm angezeigt. Fix: "Landing_screen.png" wurde in "Landing_screen" umbenannt und der .png-Teil entfernt. Das Bildsymbol in Xcode wurde in ein weißes Symbol geändert, und im Storyboard des Startbildschirms wird das Bild jetzt als Fragezeichen angezeigt. Das Startbild wird jetzt angezeigt und nicht der weiße Bildschirm. Mein Setup: Ich verwende Swift 3.1 mit Xcode 8.3.1. In LaunchScreen.storyboard habe ich eine einfache Bildansicht hinzugefügt und das Bild so gestreckt, dass es zum Ansichts-Controller passt. Ich habe die Einschränkungen für das automatische Layout oben / unten / führend / nachlaufend auf 0 gesetzt.
quelle
Wenn Sie Ihr Startbild von einem vorherigen Bild geändert haben, beachten Sie Folgendes:
Dies liegt wahrscheinlich am Caching des von iOS vorgenommenen Startabbilds. Ein Neustart des Geräts sollte das Problem lösen.
quelle
Ich bin auf diesen Fehler auch mit meiner Nur-Landschafts-App gestoßen. Die folgende Lösung von Carlodurso funktioniert:
quelle
Bei mir funktioniert es, wenn ich es entferne
LaunchScreen.xib
und in eine Storyboard-Datei ändereLaunchScreen.storyboard
.quelle