Подтвердить что ты не робот

CGContextSaveGState: недопустимый контекст 0x0 (Xcode 7 GM)

У меня есть эта проблема после того, как я скомпилировал свой код с помощью Xcode 7 GM.

По словам Apple, это ошибка, но это все еще кажется проблемой. Все работает нормально, но можно ли избавиться от этих ошибок?

: CGContextSaveGState: недопустимый контекст 0x0. Если вы хотите увидеть обратную трассировку, задайте переменную окружения CG_CONTEXT_SHOW_BACKTRACE.

: CGContextTranslateCTM: недопустимый контекст 0x0. Если вы хотите увидеть обратную трассировку, задайте переменную окружения CG_CONTEXT_SHOW_BACKTRACE.

: CGContextRestoreGState: недопустимый контекст 0x0. Если вы хотите увидеть обратную трассировку, задайте переменную окружения CG_CONTEXT_SHOW_BACKTRACE.

введите описание изображения здесь

Кто-то на других форумах сказал что-то о строке состояния, но у меня нет никакого успеха для устранения сообщения. Это не огромная проблема, но это бесполезная "ошибка". Я использую Interface Builder.

Обновлено: я использовал Objective-C, если вы используете Swift, возможно, это вопрос, который вы ищете

4b9b3361

Ответ 1

Это также происходит для меня на 7 GM, но удаление UIViewControllerBasedStatusBarAppearance из Info.plist исправило его для меня, как сказано здесь.

Обновление: предупреждение, похоже, отсутствует с iOS 9.2

Ответ 2

Я нашел еще одну причину этой ошибки сегодня.

Когда я написал код чертежа в классе View Controller, появились эти ошибки. Я понял, что мне нужно создать подкласс UIView и выполнить шаги рисования в функции override drawRect. Когда я переместил код чертежа, все ошибки исчезли.

Ответ 3

Я рисую с помощью UIBezierPath

Удаление path.fill() удалено из предупреждения.

Ответ 4

Это хороший пример использования отладчика. Я установил точку останова в своем main, а затем использовал клавишу F7 для перехода через код до появления предупреждения. Оказывается, есть еще один способ появления этой фиктивной ошибки:

NSColor *myColor = colorFromRGBA(43,51,59,0.95);
[myColor set];
(self.window).backgroundColor = myColor;

Он генерировал предупреждение на [myColor set]. Очевидно, мне это не нужно и прокомментировал это. В этот момент ошибка исчезла. Конечно, ваш опыт может отличаться.

Ответ 5

Перезагрузите устройство. Это устранило мою проблему.