24

:CGContextSetFillColorWithColor:无效的上下文0x0。这是一个严重的错误。此应用程序或它使用的库正在使用无效的上下文,从而导致系统稳定性和可靠性的整体下降。此通知是出于礼貌:请解决此问题。这将成为即将到来的更新中的致命错误。

: CGContextSetStrokeColorWithColor: 无效的上下文 0x0。这是一个严重的错误。此应用程序或它使用的库正在使用无效的上下文,从而导致系统稳定性和可靠性的整体下降。此通知是出于礼貌:请解决此问题。这将成为即将到来的更新中的致命错误。

和类似的错误重复:

  • CGContextSaveGState
  • CGContextSetFlatness
  • CGContextAddPath
  • CGContextDrawPath
  • CGContextRestoreGState
  • CGContextSaveGState
  • CGContextSetFlatness
  • CGContextAddPath
  • CGContextDrawPath
  • CGContextRestoreGState
  • CGContextSetFillColorWithColor
  • CGContextSetStrokeColorWithColor
  • CGContextSetFillColorWithColor
  • CGContextSetStrokeColorWithColor
  • CGContextGetBlendMode
  • CGContextSetBlendMode
  • 和更多...

在我的应用程序中,我不使用任何 CGContext 的东西。我只有一个UITextView,UIButtonUILabel. 还没有添加太多代码。只需设置UITextViewby 的内容:

[self.text_view setText:@"123"];

如何解决错误?

我正在使用 Xcode 5.0 (build 5A1413), iOS 7 Simulator (64-bit Retina 4"), Mac OS X 10.8.5

4

3 回答 3

45

试试这个:在 xcode 中将符号断点添加到 CGPostError。(添加符号断点,并添加到符号字段类型 CGPostError)

发生错误时,调试器将停止代码执行,您可以检查方法调用堆栈并检查参数。

于 2014-02-28T10:39:42.920 回答
2

我在使用 CGContext 和 UIBezierPaths 时遇到了类似的错误,我使用了 Juraj Antas 的方法,我马上就找到了原因。

我正在使用 CGContext 在 UIImageView 上绘图。首先我创建一个 UIBezierPath 然后我使用CGContextAddPath(..). 我发现我在创建 UIBezierPath 时设置了颜色,xcode 不喜欢它并且无论如何都会被CGContextSetStrokeColorWithColor(..). 一旦我 UIColor.whiteColor().set()从我的 UIBezierPath 创建代码中删除,错误就消失了。

于 2015-04-09T21:39:53.593 回答
0

感谢@shnaz 的建议。

我遇到了同样的问题,我花了好几次才找到问题,希望我的解决方案可以帮助其他人,如果他们也遇到同样的问题。

我可能没有足够彻底地阅读文档,而且我是创建 UIBezierPath 的新手。事实证明,在 XCode6 中,.stroke()有时.fill()会导致无效的上下文 0x0。

于 2015-08-07T09:08:30.953 回答