Immer wenn ich meine SpriteKit-App lade, protokolliert sie diesen Fehler: <CAMetalLayer: 0x15f57fa70>: calling -display has no effect.
, und es zeigt viele Objekte nicht richtig an. Ich habe versucht, die Szene neu zu erstellen und meinen Code zu entfernen, die beide nichts getan haben. Eine Weile dachte ich, das wäre vielleicht ein Bug mit der neuen Xcode 7 und iOS 9 Beta, aber jetzt, da ich es mit der GM Version von beiden ausprobiert habe und das Problem weiter besteht, ist das wahrscheinlich nicht der Fall.Xcode-Fehler: Aufruf von -display hat keine Wirkung
Antwort
Überprüfen Sie die zPosition
aller Ihrer SKNodes
. Wie sich herausstellt, hat sich in der Implementierung von SpriteKit etwas geändert, und SKNode
Objekte werden nicht mehr immer in der Reihenfolge gerendert, in der sie ihren übergeordneten Knoten hinzugefügt wurden. Nachdem ich sichergestellt hatte, dass alle meine SKNodes
hatten die richtige zPosition
, ging alles wieder normal.
Wenn das nicht hilft, überprüfen Sie this post von den Dev-Foren.
Vielen Dank! Das macht mich verrückt. Das Ändern der Z-Position löste das Problem vollständig. – mhillsman
Was meinst du mit der zPosition? Alle von mir haben die gleichen Werte, die ich ihnen zuerst zugewiesen habe. Mit Scheck meinst du ...? Sie neu zuordnen? Ich bekomme den gleichen Fehler, aber es begann erst, nachdem ich xCode 7 benutzt habe. Mein Spiel scheint zwar gut zu laufen, aber ich bekomme immer noch den Fehler. –
@JozemiteApps Nein. Das Problem ist, dass anscheinend viele Programmierer (einschließlich mir selbst) die Variable 'zPosition' in der Vergangenheit nie interessiert haben. Und jetzt, da Apple das SpriteKit-Verhalten geändert hat, wurde es offensichtlich. Was ich mit "Überprüfung" meine, ist, sie tatsächlich an erster Stelle zu setzen. –
Wie jemand in this Apple Developer thread vorgeschlagen hat, scheint das Hinzufügen des folgenden Schlüssel/Wert-Paares zur Info.plist Ihrer App dieses Problem vorerst zu lösen.
Stellen Sie sicher, Editor> Show Raw Keys & Werte auswählen, bevor Sie den Schlüsselnamen oben eingeben.
Wie "MacMacMac" im Forumsbeitrag sagt, ist dies kein idealer Fix, da die Verwendung von Metal vermutlich besser ist als die Verwendung von OpenGL, aber zumindest funktioniert OpenGL.
Was ist, wenn ich überhaupt kein Metall verwende und ich den Fehler bekomme? –
@JozemiteApps In iOS 9 verwenden Sie automatisch Metal, wenn Sie entweder SpriteKit oder SceneKit verwenden, da beide jetzt in Metal implementiert sind. –
Was wäre, wenn ich lieber SpriteKit mit Metal (nicht OpenGL) hätte und trotzdem die Warnung loswerden möchte? –
- 1. FragmentTransaction.remove hat keine Wirkung
- 2. Wie werden Sie <SKMetalLayer: 0x155851c90> los: Aufruf -display hat keine Wirkung. Drucken im Protokoll?
- 3. nginx client_max_body_size hat keine Wirkung?
- 4. VerifyInputWhenFocusTarget -Eigenschaft hat keine Wirkung
- 5. php.ini 'date.timezone' hat keine Wirkung
- 6. Handelte Attribut hat keine Wirkung
- 7. Definieren BOOST_PHOENIX_ARG_LIMIT hat keine Wirkung
- 8. Android Speechrecognizer stopListening() hat keine Wirkung?
- 9. Javascript XMLHttpRequest senden hat keine Wirkung
- 10. requestLayout() hat keine Wirkung, wenn es von onSizeChanged() aufgerufen wird?
- 11. Phoenix Select Formular Steuerelement hat keine Wirkung
- 12. block-ui-pattern hat keine Wirkung
- 13. Aktualisierung UITableViewCell Unteransicht Frame hat keine Wirkung
- 14. Java String trim hat keine Wirkung
- 15. unordered_map - Hash-Funktion hat keine Wirkung
- 16. php curl: SSL_VERIFYPEER Option hat keine Wirkung
- 17. nvcc -Xptxas -v Compiler-Flag hat keine Wirkung
- 18. spyder matplotlib UserWarning: Dieser Aufruf von matplotlib.use() hat keine Wirkung, da das Backend bereits ausgewählt wurde
- 19. Ändern von Svg-Attributen mit Javascript hat keine Wirkung
- 20. NSApplication endsheet: keine Wirkung
- 21. ReactCSSTransitionGroup keine Wirkung
- 22. Warum hat das '\ b' am Ende der Zeichenfolge keine Wirkung?
- 23. Ändern der Zahl Schriftarten in Matlab hat keine Wirkung
- 24. redux Aufruf Minderer mit Wirkung
- 25. PhantomJS WebDriver kopflos: ".click" Methode hat keine Wirkung
- 26. Warum MySQL-Partitionierung keine Wirkung in meinem Fall hat
- 27. Ändern statische Variable in Anwendungsthread hat keine Wirkung
- 28. Python: Ändern des Wertes in importiertem Diktat hat keine Wirkung
- 29. Wildcard hat keine Wirkung in IIS7 URL-Umschreibung
- 30. Warum hat Mule Flow Default-Exception-Strategie keine Wirkung?
Laut der ersten Antwort auf [this] (https://forums.developer.apple.com/thread/21386) Seite ist der Metallfehler harmlos. Was die falsche Anzeige von Objekten betrifft, ist die folgende Antwort wahrscheinlich richtig. – mredig
Ab Xcode 7.x/iOS 9.x scheint sich die Nachricht zu ' entwickelt zu haben: Aufruf -display hat keinen Effekt. ' –