web-dev-qa-db-ja.com

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環境変数を設定してください。

enter image description here

他のフォーラムの誰かがステータスバーについて何か言ったが、私はメッセージを消すことに成功しなかった。これは大きな問題ではありませんが、役に立たない「エラー」です。 Interface Builderを使用しています。

更新:Swiftを使用する場合、Objective-Cを使用しました おそらくこれがあなたが探している質問です

42
Beto

これは7 GMでも起こりますが、 here のようにInfo.plistからUIViewControllerBasedStatusBarAppearanceを削除することで修正されました。

更新:iOS 9.2では警告が消えたようです

57
ernesto

今日、このエラーの別の原因を見つけました。

View Controllerクラスで描画コードを作成すると、これらのエラーが表示されました。 UIViewサブクラスを作成し、drawRect関数のオーバーライドで描画手順を実行する必要があることに気付きました。そこに描画コードを移動すると、すべてのエラーが消えました。

7
Jiao

UIBezierPathを使用して描画しています

path.fill()を削除すると、警告が削除されました。

6
Ayman Ibrahim

これは、デバッガーを使用する場合に適しています。 mainにブレークポイントを設定し、F7キーを使用して、警告が表示されるまでコードをステップ実行しました。結局のところ、この偽のエラーが表示される別の方法があります。

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

[myColor set]で警告を生成していました。明らかに、私はこれを必要としなかったのでコメントアウトしました。その時点で、エラーはなくなりました。もちろん、あなたの経験は異なるかもしれません。

2
Volomike