Update 29. Oktober 2015 Möglicherweise hat die Ursache dafür gefunden. Ich erstelle einen Gradienten-Layer nach diesem StackOverflow-Post - es funktioniert perfekt für mich und alle anderen, die ich getestet habe mit, aber könnten andere Leute Probleme damit haben?
%Vor%Update am 27. Oktober 2015 : Diese Crashes kommen immer noch von Crashlytics.
Update 26. Oktober 2015 : Ich habe diesen Thread gefunden StackOverflow , das scheint genau das gleiche Problem zu sein wie ich (aber ohne Antworten ..), aber sie verwenden Facebook / Twitter Action Sheets, die ich nicht bin. Nur etwas, um das Problem zu diagnostizieren.
Habe gerade eine App im App Store veröffentlicht und wir sehen einen kleinen Prozentsatz von Nutzern (~ 2%) mit diesem Absturz in Crashlytics:
Es scheint, dass es nur mit iOS 9 angezeigt wird, aber es passiert auf allen Geräten .
Fatal Exception: NSInternalInconsistencyException In dieser Situation werden nur RGBA- oder White-Farbräume unterstützt.
Persönlich betreibe ich ein iPhone 6 mit 9.1 und habe das Problem nicht. Ich habe auch in Simulatoren versucht und wieder keine Probleme, daher bin ich mir nicht sicher wie dieser Bug tatsächlich auftaucht. Die Stapelverfolgung von Crashlytics befindet sich unterhalb.
Es scheint so, als ob ein UIColor
zu einem NSDictionary
hinzugefügt wird, ohne codiert zu werden, aber das mache ich nirgendwo in der App. Es scheint auch, dass es etwas mit UIRemoteViewController
zu tun hat, aber ich benutze das nicht in der App (es sei denn, die Anmeldung bei Facebook verursacht das.) Ich habe versucht, mich mit Facebook am Telefon und Simulatoren anzumelden Ich kann diesen Fehler nicht angezeigt bekommen).
Hat jemand eine Vorstellung davon, was das verursachen könnte?
%Vor%Aktualisieren Sie mit Codebeispielen
Dies wird in application:didFinishLaunchingWithOptions
:
nach meinen Lesungen ist dies der Fehler mit UIAppeence oder [UIColor colorWithPatternImage:] in ios 6
Überprüfen Sie das in Ihrem Code. Wenn Sie diesen Code in Ihrer App haben, dann verwenden Sie die Volltonfarbe.
Hier sind einige der Links, von denen ich zu dieser Schlussfolgerung gekommen bin:
1) IOS Fehler beim Posten auf Facebook mit dem nativen Freigabe-Dialog - UICGColor encodeWithCoder
2) UIAppearance und verschiedene Abstürze
Ihr Problem besteht darin, dass Musterfarben nicht über UIColor's
implementation von NSCoding
codiert werden können. Ihr Farbraum ist kCGColorSpaceModelPattern
, was, wie die Nachricht sagt, NSCoding
bricht und daher nicht erlaubt ist.
Dies kann durch Ausführen dieses Codes trivial bewiesen werden:
%Vor% Dieser Fehler wird in [UIColor encodeWithCoder]
mit dem gleichen Fehler bei der Bestätigung ausgegeben.
Warum UIColors
überhaupt kodiert werden, ist weniger klar. Etwas mit _UIAppearanceRecorder
am wahrscheinlichsten zu tun, aber Gott weiß was. Hören Sie einfach auf, Musterfarben zu verwenden, und Sie sollten in Ordnung sein.
Tags und Links objective-c iphone ios uikit