недопустимый контекст 0х0 под iOS 7.0 и деградации системы
Я'вэ-читать как можно больше результатов поиска, которые я мог найти на этой ужасной проблемы, к сожалению, каждый, кажется, чтобы сосредоточиться на конкретном вызове функции.
Моя проблема заключается в том, что я получаю ту же ошибку с нескольких функций, которые я предполагаю, были перезвонили из функций, которые я использую.
Чтобы сделать дела хуже, фактический код в пользовательских собственный Framework, который импортируется в другой проект, и как таковой, отладке это'т так просто?
Может кто-нибудь мне точку в правильном направлении? У меня есть чувство, что я'м вызова определенных методов ошибочно или плохом контексте, но выход из Xcode-это не очень полезно в этот момент.
<ошибка>: CGContextSetFillColorWithColor: недопустимый контекст с 0x0. Это серьезная ошибка. Этого приложения, или библиотеки он использует, использует недопустимый контекст и тем самым способствует общей деградации системы стабильность и надежность. Данное уведомление является вежливости: пожалуйста чтобы исправить эту проблему. Она станет фатальной ошибки в следующем обновлении.
<ошибка>: CGContextSetStrokeColorWithColor: недопустимый контекст с 0x0. Это > есть серьезная ошибка. Этого приложения, или библиотеки он использует, использует недопустимый контекст и тем самым способствует общему деградация стабильности и надежности системы. Данное уведомление является вежливости: пожалуйста, исправить эту проблему. Это станет фатальной ошибкой в В предстоящем обновлении.
CGContextSaveGState: недопустимый контекст с 0x0. Это серьезная ошибка. У этого приложения, или библиотеки он использует, использует недопустимый контекст > и тем самым способствует общей деградации системы стабильность и надежность. Данное уведомление является вежливости: пожалуйста, исправить это проблема. Она станет фатальной ошибки в следующем обновлении.
<ошибка>: CGContextSetFlatness: недопустимый контекст с 0x0. Это серьезный ошибка. Этого приложения, или библиотеки он использует, использует недопустимый В контексте, и тем самым способствует общей деградации стабильность и надежность системы. Данное уведомление является вежливости: пожалуйста чтобы исправить эту проблему. Она станет фатальной ошибки в следующем обновлении.
<ошибка>: CGContextAddPath: недопустимый контекст с 0x0. Это серьезный ошибка. Этого приложения, или библиотеки он использует, использует недопустимый В контексте, и тем самым способствует общей деградации стабильность и надежность системы. Данное уведомление является вежливости: пожалуйста чтобы исправить эту проблему. Она станет фатальной ошибки в следующем обновлении.
<ошибка>: CGContextDrawPath: недопустимый контекст с 0x0. Это серьезный ошибка. Этого приложения, или библиотеки он использует, использует недопустимый В контексте, и тем самым способствует общей деградации стабильность и надежность системы. Данное уведомление является вежливости: пожалуйста чтобы исправить эту проблему. Она станет фатальной ошибки в следующем обновлении.
<ошибка>: CGContextRestoreGState: недопустимый контекст с 0x0. Это серьезные ошибки. Этого приложения, или библиотеки он использует, использует недопустимый контекст и тем самым способствует общей деградации системы стабильность и надежность. Данное уведомление является вежливости: пожалуйста чтобы исправить эту проблему. Она станет фатальной ошибки в следующем обновлении.
<ошибка>: CGContextGetBlendMode: недопустимый контекст с 0x0. Это серьезный ошибка. Этого приложения, или библиотеки он использует, использует недопустимый В контексте, и тем самым способствует общей деградации стабильность и надежность системы. Данное уведомление является вежливости: пожалуйста чтобы исправить эту проблему. Она станет фатальной ошибки в следующем обновлении.
Эти ошибки могут произойти, когда представил нестандартный вид, или один из его унаследованных классов. В какой момент они нерестятся несколько раз, до тех пор, пока клавиатура выиграл'т предоставить любой вход. Сенсорные события по-прежнему регистрируются, но система тормозит, и в конечном итоге может привести к ошибкам объекта незанятое.
Редактировать #1: у меня есть доступ к база импортируется, но я не вижу ничего странного в классы, которые вызывают проблему.
Редактировать #2: я только что получил письмо, что iOS 7.1 была выпущена для разработчиков. Я'м любопытно увидеть, если это исчезнет, или станет хуже, или может быть решена.
Если вы'вновь любопытно, что код вызывает эти журналы, вы можете добавить символическая breakpoint на
CGPostError
.Другие будут просить вас, чтобы разместить код, где вы получаете доступ к основной графический контекст, но я сомневаюсь, что's вопрос. Эти недопустимый контекст сообщения об ошибках 0х0 являются общими и легко воспроизвести в iOS 7. На самом деле, я могу воспроизвести ошибку, используя раскадровку с нулевой код. Я таскаю с UITextField на холсте в МБ, запустите приложение, дважды нажмите внутри текстового поля.
Во многих ситуациях, это'ы трудно для меня, чтобы взять недопустимый контекст сообщения об ошибках 0х0 серьезно. Я не'т знать, если ваша ситуация требует большей заботы (я согласен с Роб Нейпир что это'ы стоят вашего внимания, особенно если вы явно используя графический контекст).
В своих проектах, я'м надеясь, что многие из этих ошибок волшебным образом исчезнуть (но в тот день не пришел с 7.0.3).
Обновление: после установки в Xcode 5.1 и для платформы iOS 7.1, я больше не могу воспроизвести ошибку дважды нажав в пустое текстовое поле.
Такого рода ошибки являются исторически результат вызова основных графических функций, когда не в контексте того, что установлено в
drawRect
или между звонками, какUIGraphicsBeginImageContext
иUIGraphicsEndImageContext
(или другой базе UIKit функции, как то, что начало и конец контекста).Сказав, что, хотя, bilobatum правильно, что эта конкретная последовательность ошибок может быть результатом что iOS 7 ошибку, которую он ссылается в своем ответе. Если не видеть эти ошибки в ваших целей в iOS6, или если после быстрого сканирования это частная структура, Дон'т найти любые подозрительные основных графических вызовов, это может быть просто это iOS 7 ошибка. Хороший улов, bilobatum!
убедитесь, что размер.ширина или размер.высота не 0,
вы можете добавить символ останова в CGPostError для проверки
Я имел эту проблему с помощью простой объект UITextField (клавиатура не появляется и множество другой недопустимый контекст сообщения об ошибках на консоли). Я просто найти обходной путь, глядя на еще одну проблему так: https://stackoverflow.com/questions/18888059/cannot-find-executable-for-cfbundle-certuiframework-axbundle
Просто сделай:
Проблема должна'т быть там больше
В моем случае я'ве получил эти ошибки в этом коде:
после некоторых размышлений и тестов я обнаружил проблему - это был такой призыв:
как я заметил - в моем коде это называть не нужно, потому что заправки будут делать другие - я это так просто удалите его.
Правильный Ответ : Проблема в том, что вы воспользовались основные графические элементы, такие как CGContext и т. д. В
- в (Void)drawRect:(CGRect на)вильный
этот метод.Теперь необходимо переместить ваш код в этот метод. И это строп давать вам предупреждения/ошибки.
У меня был этот же вопрос, и я забыл импортировать QuartzCore/QuartzCore.ч, это решить мою проблему с этими ошибками.
Я получаю эту ошибку, потому что я был с помощью UIColor объект в качестве атрибута в NSAttributedString словарь, который используется в объекте CATextLayer. Я изменил словарь, чтобы провести CGColorRef и ошибка ушла.
Как выключить режим в пораженном вид вызывает эту ошибку, чтобы уйти в некоторых случаях, когда вы'повторно размещение и перемещение элементов пользовательского интерфейса (особенно на заказ, которые рисуются программно) в виде. Я использовал JVFloatLabeledTextField, когда я обнаружил этот симптом.
Я получил эту ошибку в drawInContext(..) метод пользовательского реализации CALayer. UIBezierPath пытается использовать UIGraphicsGetCurrentContext (), которая равна нулю по умолчанию в пользовательском слое. В документации объясняет это очень четко -
Здесь'ы код, который, наконец, работал с моими комментариями рядный (SWIFT-код, но решение остается неизменным независимо от)
В моем случае у меня было такое предупреждение при создании изображения resible с вставками кепки. Проблема в том, что я не'т оставив как минимум 1 пиксель в "без ограничений" в районе.
У меня были случаи, когда контекст вернулись из
UIGraphicsGetCurrentContext ()
нулевой
, и если вы пытаетесь использовать ее для чего это сообщение появляется. Это мнение'ы ответственность, чтобы подтолкнуть контексте, используяUIGraphicsPushContext
перед вызовомdrawRect:
если вы называетеdrawRect:
вместо[вид setNeedsDisplay]
вы рискуете контекст не установлен еще. Моя догадка заключается в том, что до iOS 7 контекст был выдвинут для представления оинициализации
, и теперь на iOS 7 контексте это'т толкнул, пока drawRect в первый раз:
это собирается быть вызванным. Я подозреваю, что некоторые код программирования с использованием UIKit зоветdrawRect:
напрямую, и именно поэтому есть проблемы с некоторыми код, даже если нет отрисовки делается.Решения (если делаете на заказ рисунок):
:
используйте[вид setNeedsDisplay] или если вам нужна срочная использовать для рисования
[просмотр.нарисуйте слой]`получаем контекст, но Дон'т использовать его вне тела оператора if
если (контексте) {<сделать чертеж здесь>}`В некоторых случаях вам может понадобиться, чтобы включить строку
#импорт <QuartzCore/QuartzCore.ч>
.Я получил ошибку с кодом
и после того, как сняли код
Мир притих
Я создавал UIImage из контекста, используя ниже код: в <предварительно> UIGraphicsBeginImageContext(размер); Контексте CGContextRef = UIGraphicsGetCurrentContext();
</пред>
Таким образом я получаю ошибку.
Так что я снял полученных данных, перезагрузки в Xcode. И это сработало.
У меня такая же проблема. В моем проекте, я стараюсь создать textfield и добавить его в файл PDF. Старый Код:
После того, как решена эта проблема,код изменен :
Я нашел решение на https://stackoverflow.com/questions/10623545/uicolor-setfill-doesnt-work. И благодаря помощником.
Если ошибка возникает при использовании UIBezierPath и установите цвет обводки или заливки, поставить установить цветовой код в функции drawRect, а не другими местами.
Это суховато, но он работал для меня.
Я создал
помощью UIImageView
винструменту UITableViewCell
'ыинициализации
, дать ему размеры и ограничения.Тогда на мой взгляд контроллер'cellForRowAtIndexPath ы `` я делаю это:
И, чтобы избежать ошибки, то ниже, что в функции я установил фактические изображения за помощью UIImageView`. Приведенный выше код является хорошим по умолчанию
Я имел эту проблему в поле UITextField, когда я держал связь по пустым полем с просто шаблонный текст. Я использовал следующие решения для устранения пустых полей: