我已经尽可能多地阅读了关于这个可怕问题的搜索结果,不幸的是,每个结果似乎都集中在一个特定的函数调用上。
我的问题是,我在多个函数中都遇到了同样的错误,我猜这些函数是从我使用的函数中回调的。
更糟糕的是,实际代码在一个自定义的私有框架中,而该框架被导入到另一个项目中,因此调试起来并不简单。
有人能给我指出正确的方向吗?我有一种感觉,我调用某些方法的方法不对,或者调用的上下文不对,但 xcode 的输出在这一点上没有什么帮助。
<错误>:CGContextSetFillColorWithColor: invalid context 0x0.这是 一个严重的错误。此应用程序或其使用的库正在使用 无效上下文,从而导致系统稳定性和可靠性的整体下降。 系统稳定性和可靠性。本通知是出于礼貌:请 解决这个问题。在即将到来的更新中,它将成为一个致命错误。 >; <错误>:CGContextSetStrokeColorWithColor: invalid context 0x0.这 是一个严重错误。此应用程序或其使用的库正在使用 无效上下文,从而导致整体 系统稳定性和可靠性下降。本通知是 请修复此问题。在 即将进行的更新中将成为致命错误。 >; CGContextSaveGState: 无效上下文 0x0。这是一个严重错误。 此应用程序或其使用的库正在使用无效上下文 从而导致系统整体稳定性和可靠性下降。 稳定性和可靠性。此通知是出于礼貌:请修复此 问题。在即将到来的更新中,它将成为一个致命错误。 >; <错误>:CGContextSetFlatness:无效上下文 0x0。这是一个严重的 错误。此应用程序或其使用的库正在使用无效的 因此导致系统稳定性和可靠性整体下降。 系统稳定性和可靠性。本通知是出于礼貌:请 解决这个问题。在即将到来的更新中,它将成为一个致命错误。 >; >; <错误>:CGContextAddPath:无效上下文 0x0。这是一个严重的 错误。此应用程序或其使用的库正在使用无效的 因此导致系统稳定性和可靠性整体下降。 系统稳定性和可靠性。本通知是出于礼貌:请 解决这个问题。在即将到来的更新中,它将成为一个致命错误。 >; <错误>:CGContextDrawPath: invalid context 0x0.这是一个严重的 错误。此应用程序或其使用的库正在使用无效的 因此导致系统稳定性和可靠性整体下降。 系统稳定性和可靠性。本通知是出于礼貌:请 解决这个问题。在即将到来的更新中,它将成为一个致命错误。 >; >; <错误>:CGContextRestoreGState: invalid context 0x0.这是一个 严重错误。此应用程序或其使用的库正在使用 无效上下文,从而导致系统稳定性和可靠性整体下降。 系统稳定性和可靠性。本通知是出于礼貌:请 解决这个问题。在即将到来的更新中,它将成为一个致命错误。 >; >; <错误>:CGContextGetBlendMode: invalid context 0x0.这是一个严重的 错误。此应用程序或其使用的库正在使用无效的 上下文,从而导致系统稳定性和可靠性整体下降。 系统稳定性和可靠性。本通知是出于礼貌:请 解决这个问题。在即将到来的更新中,它将成为一个致命错误。
当呈现自定义视图或其继承类时,可能会出现这些错误。此时,它们会生成多次,直到键盘无法提供任何输入。触摸事件仍会被注册,但系统速度会减慢,最终可能导致未分配对象错误。
编辑 #1: 我确实可以访问被导入的框架,但我在导致问题的类中看不到任何奇怪的东西。
**我刚刚收到一封电子邮件,说 iOS 7.1 已面向开发人员发布。我很想知道这个问题是会消失,还是会变得更糟,或者能否得到解决。
其他人会要求你发布访问核心图形上下文的代码,但我怀疑这就是问题所在。这些无效上下文 0x0 错误信息在 iOS 7 中很常见,也很容易重现。事实上,我只需编写零代码,就能使用 storyboard 重现该错误。我在 IB 中将 UITextField 拖到画布上,运行应用程序,然后双击文本字段。
在很多情况下,我很难认真对待无效上下文 0x0 错误信息。我不知道您的情况是否需要更多关注(我同意 Rob Napier 的观点,这值得调查,尤其是在您明确使用图形上下文的情况下)。
在我自己的项目中,我希望这些错误有一天能神奇地消失(但 7.0.3 并没有出现这一天)。
更新: 安装 Xcode 5.1 并以 iOS 7.1 为目标后,我再也不能通过双击空文本字段来重现错误了。
这类错误通常是由于调用 Core Graphics 函数时未在 drawRect
或 UIGraphicsBeginImageContext
和 UIGraphicsEndImageContext
(或其他类似的 UIKit 函数,它们用于开始和结束上下文)建立的上下文中造成的。
不过,bilobatum 说得没错,这种特殊的错误序列可能是他在答案中提到的 iOS 7 bug 导致的。如果在您的 iOS6 目标中没有看到这些错误,或者在快速扫描此私有框架后没有发现任何可疑的 Core Graphics 调用,那么这可能只是 iOS 7 的错误。接得好,bilobatum!