2012-08-04 10 views
5

プログラミングマシンをMountainLionにアップグレードし、XCodeを新しいバージョンにアップグレードした後、アプリケーションを実行するたびにこの警告がコンソールに表示されます:"MountainLionへのアップグレード後の警告"

[NSGraphicsContext currentContext]がnilのときに画像を描画するのは意味がありません。これはプログラミングエラーです。 Break on void デバッグする_NSWarnForDrawingImageWithNoCurrentContext()。これは一度だけ記録されます。これは将来破綻する可能性があります。

私のアプリケーションのどこにでもイメージを使用していません。イメージ全体のプロジェクトを検索しましたが、見つけられませんでした。誰がこれを引き起こす可能性があるのか​​知っていますか?

私は2つのnibファイルbtwを使用しています.1つのPopoverとMainwindowです。どちらもイメージを含んでいません。

[self.popover showRelativeToRect:[appDelegate.menulet frame] 
           ofView:appDelegate.menulet 
         preferredEdge:NSMinYEdge]; 

しかし、これらのオブジェクトのいずれもゼロではありません:

編集:これが表示されたときに 私がラインを見つけました。助言がありますか?

編集2: メニューレットはNSViewサブクラスbtwです。だから私は見解を伝えている。

+0

どこにブレークポイントを設定しましたか?ブレークポイントに達すると、スタックトレースをポストします。 –

+0

どのようにそれを置くことがわかったのですか?それは私に黄色の警告兆候を示さない、私はちょうどこのメッセージを得る。日付と私のアプリケーション名の後に "[6686:303]"が続きます。私は303行目のすべてのクラスを調べましたが、何も見つかりませんでした。 –

+2

[Breakpoint Navigatorについて](http://developer.apple.com/library/mac/#recipes/xcode_help-breakpoint_navigator/articles/about_breakpoint_navigator.html#//apple_ref/doc/uid/TP40010433-CH6-SW1)を参照してください。および[シンボルブレークポイントの追加](http://developer.apple.com/library/mac/#recipes/xcode_help-breakpoint_navigator/articles/adding_a_symbolic_breakpoint.html)を参照してください。'_NSWarnForDrawingImageWithNoCurrentContext'をシンボルフィールドに置き、モジュールフィールドを空白のままにします。 –

答えて

0

私の場合、警告は私のmenuIconを長方形で書き直す結果となった(menuBarアプリケーションでの作業)。まだ問題は解決していないが、私の場合はどこから来たのか分かっている。メニューバーのアプリケーションがある場合は、アイコンを生成するコードをチェックしてください。

1

ブレークポイントを設定しようとしましたが、ペン先が読み込まれたときに呼び出されます。したがって、それは非常に非特異的です。私はペン先のコピーを作成し、警告が消えるまでそれからオブジェクトを1つずつ削除しました。私の場合、それはNSOutlineViewでした。しかし、新しいNSOutlineViewを追加するとすぐにエラーが戻ってきました。

最後にNIB全体を手動で再構築することで警告を取り除くことができました。痛みを癒すことはできましたが、警告を取り除きました。

+0

ありがとう、私はこれを後で試してみましょう! –

+0

NIB-Fileを実際に作り直しました。 –

1

NIBで初期化されているが画像が設定されていないNSImageViewがある場合(コードで画像を直接描画した場合)、それを設定するだけで警告が表示されます。

+1

私はNSImageViewを持っていません。それは私が非常に興味があることです... –

+1

しかし、NIBで初期化されたNSImageViewはありましたが、イメージは設定されていませんでした。それを削除するとエラーが削除されました。どうもありがとう。 –

1

私の場合は、画像サイズが{0,0}で、「意味をなさない」ためです。 実際、NSButtonの画像です。プログラムのボタンの画像を変更します。 1つのケースでは、ボタンは空でなければならないので、空の画像を[NSImage new]に設定するだけです。 しかし、エラーが発生し、どのようにボタンのイメージを変更しても、ボタンは常に空です。 空のイメージにサイズを設定すると、問題は解決され、ボタンのイメージを正常に変更できます。

関連する問題