"Недопустимый контекст 0x0" после перехода на iOS 9
Я перенесла приложение в iOS 9, и оно работает, как обычно, но есть три сообщения журнала:
<Error>: CGContextSaveGState: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
<Error>: CGContextTranslateCTM: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
<Error>: CGContextRestoreGState: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
Может быть, помогает следующее сообщение от Crashlytics:
[Crashlytics:Crash] Warning: iOS 9 workaround for binary image loading issue in place.
Кто-нибудь знает, как его исправить?
Ответы
Ответ 1
Это происходит, когда есть определение UIViewControllerBasedStatusBarAppearance с false в info.plist.
Если вам это не нужно, вы можете установить ключ <key>UIViewControllerBasedStatusBarAppearance</key>
в true в файле вручную или изменить параметр View controller-based status bar appearance
из Info в YES.
Кроме того, я видел несколько сообщений, в которых говорится, что с этим нет никаких проблем. Насколько я знаю, нет способа установить UIViewControllerBasedStatusBarAppearance из кода, поэтому, я думаю, нам придется подождать, пока Apple решит эту проблему. Вы можете найти более здесь.
Позже Edit: Кажется, что iOS 9.1 решает эту проблему. Из последнего стабильного Xcode, работающего на iOS 9.1, не возникает ошибок, в то время как у 9.0 все еще есть проблемы выше.
Ответ 2
Apple заявила, что вы можете спокойно игнорировать эти сообщения
': CGContextSaveGState: недопустимый контекст 0x0. "
Проверьте различные форумы Apple dev или области поддержки.