wake-up-neo.com

Schwarzer Bildschirm statt Startbild auf dem iPad

Ich entwickle eine iPhone-App für iOS 6.1 und 7 (mit Xcode 5). Ich habe ein Problem mit iPad-Startbildern.

Auf dem iPad 7.0 und 7.0.2 wird das Startbild nicht angezeigt (in 6.1 funktioniert!): Ich bekomme einen schwarzen Bildschirm, während die App geladen wird.

Dieses Problem tritt mit iPhone 6.1 und 7.0.2 nicht auf, obwohl ich alle für iPad und iPad Retina (Querformat und Hochformat) erforderlichen Startbilder festgelegt habe und den Asset-Katalog verwende. 

Was vermisse ich?

35
nicky_1525

Ich habe Apple-Support angefragt und es stellte sich heraus, dass es sich um einen Fehler handelt. Sie baten mich, es zu melden, und ich tat es. Hier ist die Report-ID: 15340531. Jetzt liegt es an ihnen.

9
nicky_1525

Vor kurzem hatte ich dasselbe Problem mit meiner App, die nur für das iPhone entwickelt wurde. Ich hatte das Problem, dass die Startbilder nicht auf dem iPad angezeigt wurden. (Auf dem iPad ios> = 7.0.x wird das Startbild nicht angezeigt (In iPad ios <7.0.x funktioniert es gut)). 

Ich bin nicht mit dieser Ausgabe des Startbildes konfrontiert. Das iPhone funktionierte in allen iOS-Versionen einwandfrei.

Lösung : Zum Aktualisieren des Asset-Katalogs, um die Bilder Ihrer App zu verwalten und nur iOS 6 und Prior als Ziel festzulegen.

Schritte :

Schritt 1:

Update to Asset Catalog

Schritt 2: 

Select to Migrate

Schritt 3: Klicken Sie in der rechten oberen Ecke auf das Symbol 'Attribute Inspector'. Hier können Sie das Ziel-Betriebssystem für die Startbilder festlegen.

Uncheck the iOS 7 check boxes for iPhone

Deaktivieren Sie die Kontrollkästchen für iOS 7 für iPhone. Jetzt sollten Sie die Startbilder für iPad unter iOS> = 7.0.x sehen können. 

33
Samyukt Shah

Wenn Sie die gleiche Situation wie meine haben, ist das die Lösung:

Meine App ist nur im Querformat, nur iOs7, ipad\iphone (XCode 5).

Problem: Schwarzer Start auf dem iPhone (und Simulator), normaler Start im iPad.

Lösung : gehe zu Images.xcassets - Bilder starten - wähle es aus. Deaktivieren Sie rechts alle "iOs7 und späteren" - Felder. Aktivieren Sie die Kontrollkästchen "iOs6 und vor" und füllen Sie leere Felder mit Bildern.

Seltsam, aber funktioniert.

24
djdance

Laut Apples Dokumentation ( link ); Ein leeres iPad-spezifisches Storyboard könnte die Antwort sein. Ich habe auch Probleme gesehen, bei denen der anfängliche View-Controller nicht in einem Storyboard festgelegt ist und einen schwarzen Bildschirm verursacht. Eine Variante dieses Problems könnte eine falsche Einstellung in der App-Liste sein.

Technische Fragen und Antworten QA1780 Warum startet meine App auf einem schwarzen Bildschirm auf dem iPad?

F: Warum startet meine App auf einem schwarzen Bildschirm auf dem iPad?

A: Apps, die nur für das iPhone entwickelt wurden, werden möglicherweise auf einem iPad als leerer Bildschirm angezeigt. Dies ist auf ein leeres iPad-spezifisches Storyboard im App-Bundle sowie einen iPad-spezifischen UIMainStoryboardFile-Schlüssel in der Information Property List (Info.plist) -Datei der App zurückzuführen. Beide werden automatisch von den verschiedenen Xcode-Vorlagenprojekten erstellt, wenn die Option Universal ausgewählt ist.

...

In Xcode

Suchen Sie im Datei-Navigator nach einer Datei mit dem Namen MainStoryboard_iPad.storyboard. Wenn diese Datei vorhanden ist, entfernen Sie sie aus Ihrem Projekt.

In der Liste der Eigenschaften Ihrer App

Suchen Sie nach einem Schlüssel mit dem Namen Basis Storyboard-Dateiname (iPad) oder UIMainStoryboardFile ~ ipad. Wenn dieser Schlüssel vorhanden ist, entfernen Sie ihn. Sie sollten auch alle anderen Schlüssel entfernen, die mit (iPad) oder ~ ipad versehen sind.

Zum Schluss testen Sie Ihre App auf einem iPad oder im iPad-Simulator und stellen Sie sicher, dass sie sich wie erwartet verhält.

11
Tommie C.

LaunchScreen.storyboard verwenden

Ich hatte ein ähnliches Problem, bis ich in den General Project Settings die folgenden Einstellungen gefunden habe.

  1. Stellen Sie Ihre Main Interface auf Ihre Haupt-Storyboard-Datei ein. Meine heißt Main.storyboard.

 enter image description here

  1. Stellen Sie Ihre Launch Screen-Datei auf Ihre Startbildschirm-Storyboard-Datei ein. Meine heißt LaunchScreen.storyboard. (Dies hatte ich ursprünglich verboten.)

 enter image description here

Danach wurde zuerst der Startbildschirm geladen, und dann wurde das Haupt-Storyboard kurz darauf geladen.

5
Suragch

Stellen Sie das Bild erneut ein. Stellen Sie sicher, dass die Auflösung des Begrüßungsbildschirms den Richtlinien von iOS 7 entspricht

4
user2503864

Nachdem ich mehrere Lösungen ausprobiert hatte, vermutete ich, dass das iPhone im Querformat starten wollte und somit kein entsprechendes Startbild fand. Tatsächlich startete der Simulator aus einem Grund, den ich nicht verstand, in Landscape.

Nach der Lektüre der Apple-Dokumentation fand ich schließlich heraus, dass die Reihenfolge der Schlüssel in "Unterstützte Schnittstellenorientierungen" der Datei "info.plist" wahrscheinlich nicht ausreicht. Das Portrait war der letzte Punkt. Wenn es sich um das erste Element handelt, wird die App im Portrait-Modus gestartet und das Bild gesucht.

3
phbardon

Ich weiß, das klingt dumm. Ich hatte solche Fehler, als ich eine Datei im psd-Format mit einer jpg-Erweiterung gespeichert habe. Nur ein falscher Klick beim Speichern Ihres Startbildes.

3
Jodocus

Entfernen Sie die zuvor installierte App vom Gerät oder Simulator. Starten Sie anschließend die App nach dem Reinigen neu.

2
Sanjeev sharma

Ich hatte das Problem, dass die Startbilder in iOS 7 nicht auf dem iPhone (3,5 oder 4 Zoll) angezeigt würden, das iPad hatte jedoch keine Probleme mit iOS 7.

Um es kurz zu machen: Ich habe den Asset-Katalog nur für die Startbilder deaktiviert. Also füge ich die Startbilder auf altmodische Weise hinzu. Das scheint das Problem gelöst zu haben.

Ich werde morgen weitere Tests durchführen müssen, aber es scheint, dass das Problem gelöst ist (zumindest in meinem Fall).

2
Alex M

Dies ist ein Update für iOS 8.

Ich hatte das gleiche Problem, als ich versuchte, meiner iOS 8-App ein LaunchImage hinzuzufügen.

Apple ermöglicht Entwicklern die Verwendung einer Xib, deren Standardname LaunchScreen.xib ist, um die Startansicht ab iOS 8 darzustellen. Ich glaube, Entwickler können entweder LaunchImage oder LaunchScreen.xib verwenden. Leider konnte ich kein Dokument finden, das beschreibt, wie mit LaunchImage umgegangen wird, nachdem LaunchScreen.xib eingeführt wurde. Ich habe immer einen schwarzen Bildschirm erhalten, als ich LaunchImage als Startansicht verwenden wollte.

Meine Lösung ist:

  1. Denken Sie nicht an LaunchImage. Verwenden Sie LaunchScreen.xib. (Sie müssen jedoch ein LaunchImage in Ihrem Asset-Katalog leer lassen. Ich glaube, es ist ein Fehler.)

  2. Ziehen Sie ein UIImageView auf das Xib und machen Sie das UIImageView-Vollbild. Denken Sie daran, die Größenklassen und Einschränkungen zu berücksichtigen.

  3. Stellen Sie ein Bild, dessen Auflösung für iPhone 6 plus ausreicht, auf UIImageView.

1
Brian

Ich habe diese Antwort gefunden, die für unsere App (nur für iPhone, aber für iPad) funktionierte: https://stackoverflow.com/a/19448782/1258419

Um diese Antwort zusammenzufassen:

Wie es geht. Gehen Sie zum Asset-Katalog. Klicken Sie oben rechts auf das Symbol 'Attribute Inspector'. Hier können Sie das Ziel-Betriebssystem für die Startbilder festlegen. Deaktivieren Sie die Kontrollkästchen für iOS 7 für iPhone. Jetzt sollten Sie die Startbilder für diese Geräte sehen können.

1
Stephen C

enter image description here

in Xcode 5 , make sure thay you add all needed images mentioned in your app target.

1
PJR

In der Landschaft ist ein ähnliches Problem aufgetreten. Mein iOS 7-Startbild wurde während iOS 6 nicht angezeigt. Mein war das iPhone Retina 3.5 "Startbild.

Da ich eine andere App im Portrait habe, die dieses Problem nicht mitteilte, habe ich zwei Dinge getan:

  1. In info.plist unter "Unterstützte Schnittstellenorientierungen" habe ich auch die Hochformat-Modi 2 hinzugefügt und sie vor die Landschaft gestellt, wie zB

    Item 0: Portrait (top home button)
    Item 1: Portrait (bottom home button)
    Item 2: Landscape (right home button)
    Item 3: Landscape (left home button)
    
  2. Diese Methode wurde im View Controller implementiert:

    -(NSUInteger)supportedInterfaceOrientations{
    return UIInterfaceOrientationMaskLandscape; 
    

    }

Dies funktioniert mit oder ohne den Asset-Katalog.

1
Eran Talmor

Ich gehe davon aus, dass Sie bei der Verwendung von Asset Catalog sichergestellt haben, dass Sie die Zielmitgliedschaft Images.xcassets korrekt hinzugefügt haben. Ich erwähne dies, denn wenn Sie mehrere Ziele haben, müssen Sie diese manuell hinzufügen (und Sie haben keine Screenshots erstellt, damit Sie sicher sein können).

Nachdem Sie in Ihrem Projekt nicht wirklich einen Screenshot der "LaunchImage" -Übersicht des Images.xcassets-Ordners bereitgestellt haben, kann ich nur den möglichen Grund vermuten. Wenn man sich die Tatsache anschaut, dass die Launch-Bilder für iPhone (6.1 & 7.0.2 und iPad (6.1) und nicht nur für iPad (7.0 und höher) funktionieren, denke ich, könnte man vielleicht schauen, ob die Dimension der Bilder für iPad Portrait und iPad Landscape eignen sich für iOS 7. Insbesondere sollten Sie Ihre Startbilder und keine leeren Rechtecke sehen, wie auf dem beigefügten Bild -__ dargestellt.iOS7 iPad Launch Images (portrait and landscape)- not correctly sized

Dies kann darauf zurückzuführen sein, dass die iPad-Startbilder für iOS7 immer noch erstellt wurden, mit Ausnahme des Statusleistenbereichs. Vor iOS7 wurden die Startbilder des iPad erstellt, um den Statusleistenbereich auszuschließen. Unter iOS7 ist es jedoch ein Muss, dass alle Startbilder den Statusleistenbereich enthalten müssen. Lesen Sie den Abschnitt "Was jede App tun muss" in der Benutzeranleitung zum Übergang von Apple iOS7 UI ( https://developer.Apple.com/library/ios/documentation/userexperience/conceptual/TransitionGuide/TransitionGuide.pdf ) durch.

Der folgende Screenshot sollte erklären, worüber ich spreche -iPad launch images dimensions- iOS6 and iOS7

z.B. Sie können sehen, dass die Bildgröße des iPad Landscape Retina für iOS6.1 und älter 2048x1496 ist (außer 40 px für die Statusleiste). Die Größe für das gleiche Bild für iOS7.0 und höher wird jedoch mit 2048x1536 (einschließlich der 40px für die Statusleiste) erwartet ). Wenn Sie also Ihre Bilder nicht entsprechend geändert haben, wird auf dem iPad 7.0 und höher ein schwarzer Bildschirm für Bilder angezeigt. Auf iPhones wird dieses Problem nicht auftreten, da iPhone-Startbilder immer die Statusleiste (iOS6.0 und iOS7.0) abdecken. Daher ist die neue Benutzeroberflächenanforderung für iPhone-Startbilder bereits erfüllt.

1
Subzero

Ich hatte das gleiche Problem ... Ich musste eine Problemumgehung machen: Verwendete das Standard-Image für alle iOS-Versionen und löschte den UILaunchImageFile-Schlüssel aus info.plist.

Ich kann nicht verschiedene Startbilder für iOS 7 und frühere Versionen verwenden, daher musste ich dasselbe "künstlerische" Bild für alle verwenden, stattdessen ein Bild, das die erste Ansicht der App nachahmt (was Apple empfiehlt und ich bevorzuge), jedoch bei Zumindest bekomme ich den schwarzen Bildschirm nicht mehr.

Es sieht so aus, als ob der Schlüssel UILaunchImageFile, der die Verwendung unterschiedlicher Startbilder für iOS 7 und frühere Versionen ermöglicht, für Retina iPad unter iOS 7 nicht ordnungsgemäß funktioniert.

WARNUNG: Ich teste immer noch die App, daher weiß ich nicht, ob es Nebenwirkungen geben kann.

0
Elga

Ich hatte auch ein ähnliches Problem, aber die Lösung war einfach (in meinem Fall).

Alles was ich tat war folgen - 

1.Fügen Sie eine neue Datei hinzu (wenn Sie sie nicht hinzugefügt haben) Launchscreen.storyboard

2.Erhalten Sie eine UIViewController, markieren Sie sie als Is Initial View Controller, fügen Sie eine UIImageView hinzu und legen Sie ein Bild fest, das Sie beim Start Ihrer App anzeigen möchten. Stellen Sie sicher, dass Sie diese UIImageView-erforderliche Einschränkung angeben.

3. Gehen Sie zu Projekt-> Allgemein-> Anwendungssymbole und starten Sie Bilder, und wählen Sie Launchscreen.storyboard als Launch Screen-Datei aus (es wird ein Dropdown-Menü angezeigt).

0
Ashutosh Shukla

Überprüfen Sie alle Bilder und prüfen Sie, ob sie ordnungsgemäß im Asset platziert sind und deren Namen und Größe richtig sind.

Prüfen Sie auch, welche Ausrichtungen Sie zulassen, und fügen Sie dem Asset entsprechend Bilder hinzu. 

0
Geekoder