Die Statusleiste konnte das zwischengespeicherte Zeitzeichenfolgenbild nicht finden. Rendern im Prozess

113

Ich erhalte die obige Laufzeitmeldung, nachdem ich auf Swift4.1 und Xcode 9.3 aktualisiert habe. Vor dem Upgrade hatte ich diese Meldung nicht in meinem Konsolenfenster.

Die Statusleiste konnte das zwischengespeicherte Zeitzeichenfolgenbild nicht finden. Rendern im Prozess.

wird alle paar Minuten angezeigt, solange die App ausgeführt wird.

Es sieht für mich keine negativen Nebenwirkungen, meine App läuft wie gewohnt, ich habe keine Probleme gesehen.

Ich verwende die Standard-Statusleiste und habe sie nicht geändert, um sie in irgendeiner Weise zu ändern.

Frage 1: Gibt es ein Problem, das sich aus dieser Warnung in Situationen ergibt, auf die ich noch nicht gestoßen bin?

Frage 2: Weiß jemand, wie ich diese Warnung loswerden kann?

mac_eric
quelle
1
Seltsam. Ich
bekomme
Ich verstehe das auch, bis jetzt scheint es harmlos zu sein.
Gereon
1
Es passiert einmal pro Minute (zumindest für mich), kurz nachdem die Zeit in die neue Minute übergegangen ist.
Simon Jenkins
1
Mir auch gleich;) mit Xcode 9.3 und Swift 4.1
Niko Klausnitzer
1
Ich führe meine App auf einem Gerät aus (iPhone 6 Kapazität 16 GB verfügbar 5,48 GB) und ich habe diese Warnung auch gesehen, aber als ich diese Meldung im Xcode-Konsolenprotokoll erhielt, blieb meine App hängen.
Ravi Raja Jangid

Antworten:

94

Dieser Fehler- / Debug-Hinweis ist im iOS SDK enthalten, das mit Xcode 9.3+ gebündelt ist

Update: nicht behoben in Xcode 9.4.1 (9F2000)
Update: nicht behoben in Xcode 10 (10A255)
Update: nicht behoben in Xcode 11 Betas

Ich denke, Sie können es ignorieren. Neue Versionen von iOS / macOS enthalten manchmal informative Debugging-Meldungen, die in der Regel bei der nächsten Version entfernt werden.

Lal Krishna
quelle
5
Ich werde auf die stabile Veröffentlichung warten - zumindest haben wir das endlich geklärt. Danke für die Warnung.
Mac_eric
9
Dieser Fehler wurde NICHT in der Version 9.4 (9F1027a) behoben
Adam
3
Nicht behoben in Version 9.4.1 (9F2000)
Daniel Springer
@ LalKrishnas Kommentar ist ungenau. Gerade mit XCode 9.4.1 unter iOS 11.3.1 und 11.4 getestet, trat es auf beiden auf. Zumindest bei Verwendung eines physischen iPhone 6
Jake T.
1
Ich habe vor langer, langer Zeit upvoted. Aber ich überlege es mir jetzt noch einmal.
Anton Tropashko
13

Das gleiche Problem trat auch bei mir auf. Um dies zu überwinden, habe ich dies getan

Gehe zu Ziel -> Bereitstellungsinfo -> Deaktiviert 'Statusleiste ausblenden'

Dieser hat mein Problem gelöst. Für mich war dies das Setup "Bereitstellungsinformationen".

Geben Sie hier die Bildbeschreibung ein

sRoy
quelle
3
Ich habe mit der aktivierten und deaktivierten Option "Statusleiste ausblenden" getestet. Keine der beiden Optionen verhinderte, dass die Meldung "Statusleiste konnte nicht zwischengespeichert finden ..." jede zweite Minute erneut angezeigt wurde.
Mac_eric
Haben Sie info.plist überprüft? Wurde etwas in Bezug auf die Statusleiste hinzugefügt?
sRoy
Ich habe nichts in der info.plist, was mit der Statusleiste zusammenhängt. Ich verwende die Standardstatusleiste.
Mac_eric
Können Sie PLZ teilen, Xcode-Version und Gerät, in dem Sie dies bekommen? Und unterstützt Ihre App auch die Landschaft?
sRoy
4
Vielen Dank! Es hat bei mir funktioniert, eigentlich war es zuerst deaktiviert, ich habe es überprüft und ausgeführt und dann wieder deaktiviert und es hat funktioniert
Saeed Ir
1

Ich sehe auch diese Warnung und als Antwort auf Frage 1 sehe ich auch möglicherweise sehr böses Verhalten, das damit verbunden ist.

Laufen etwas in der Nähe einer einfachen Beispiel animierten Dreieck Metal App, aber mit

renderPassDescriptor.colorAttachments[0].loadAction = .load

so dass der Frame nicht bei jedem Frame gelöscht wird. Was zu passieren scheint, ist, dass jedes Mal, wenn die Warnmeldung protokolliert wird, iOS auch einen Teil seiner Verwaltung des Grafikstatus verwirrt, so dass ich ein heftiges Blinken von Teilen des Bildes sehe (das dann später wieder verschwindet).

Wie wahrscheinlich es ist, dass diese Situation in einer "echten" App auftritt, weiß ich nicht genau, aber es ist definitiv nicht etwas, das Benutzer am Ende sehen sollen.

Ich habe das Problem hier bisher noch nicht behoben. Die Einstellungen für "Statusleiste ausblenden" und "Vollbild erforderlich" helfen nicht.

PeterT
quelle
Natürlich können Sie es nicht reparieren. Du hast deinen Metallzustand. Apple hat den GLES-Status für das Rendeing der Statusleiste und diese beiden kollidieren anscheinend. Melden Sie einen Fehler an, indem Sie eine Beispiel-App bereitstellen, um sie bei der Suche nach einem realen Fall zu unterstützen. Dies könnte bei Vanilla-Uikit-Benutzern wie mir nicht auftauchen.
Anton Tropashko
1

In meinem Fall versteckte es die Navigation

self.navigationController?.isNavigationBarHidden = false

Wenn Sie die Navigationsleiste ausblenden, wird auch die Statusleiste ausgeblendet!. benutz einfach

self.navigationController?.navigationBar.isHidden = true

stattdessen. Und Sie haben Ihre Statusleiste wieder.

mehdi
quelle
Warum hat die erste Zeile = falseund die zweite = true? Versuchen Sie, den Leser zu verwirren, oder gibt es einen Zweck? (Wenn es keinen Zweck gibt, korrigieren und schreiben Sie bitte trueoder falsein beide Zeilen.)
Bedeutungsangelegenheiten
0

Um Frage 2 zu beantworten, die sich auf die Antwort von PeterT stützt, die sich mit Frage 1 befasst: Sie können diese Warnung nicht nur nicht loswerden, sondern dürfen dies auch nicht , da dies bedeutet, dass das zugrunde liegende Problem alles andere als harmlos ist. Zumindest in einigen szenischen.

Dies bedeutet auch, dass der Tanz des DEC Field Circus Engineer die Räder tauscht, die in Meta-Informationen für das Projekt flach sind und Sie zu Recht wie einen Clown aussehen lassen.

Anton Tropashko
quelle
-1

Ich konnte diese Warnung entfernen , indem ich unter " Ziel-> Bereitstellungsinformationen " das Kontrollkästchen " Vollbild erforderlich" aktiviert habe .

Wenn Sie diese Option aktivieren, kann dies auf dem iPad einige Nebenwirkungen haben. Beachten Sie dies daher.

Esteban Vallejo
quelle
1
Ich verwende 'Benötigt
Vollbild