iOS 5.1で動作している問題をデバッグしようとしていますが、デバッガでエラーを取得して何かを印刷しようとするコード内のデバッガで停止すると、メッセージ:"self"はiOS 5.1のデバッガでは使用できません
error: warning: Stopped in a context claiming to capture an Objective-C object pointer, but 'self' isn't available; pretending we are in a generic context
すみません。誰か私がここに自分自身でしたことを知っていますか?
誰かが見たいと思うほどコードが複雑です。私は、デバッガのメッセージの意味を誰かが教えてくれることを大いに期待しています。
これは断続的にしか失敗しませんでしたが、現在はほとんど失敗しています。操作は一般的に(またはいつものように)iOS 5.1で最初に試してみるのが初めてで、iOS 6ではいつも動作します。
一般的なコンテキストを知ることができれば... Iちょうど書き込まれたオブジェクトをALAssetsGroupに追加しようとしているので、これは非UIスレッドの完了ブロックにあります。私は完成ブロックのための合理的な外観のスタックバックトレースを持っています。 このエラーは、格納されたALAssetsGroupが意味のある値を持たなくなったためです。つまり、ALAssetsGroupオブジェクトであることを知っているNSLogが意味する値です。この値は1つの場所に割り当てられており、記録されているので記録しています.KVOソートの方法で変更されたことはありません。
あなたはObjective-C++ファイルではありませんか?私はその狂った言葉でこの種のエラーをたくさん見てきました(私はその使用を最小限に抑える多くの理由の1つです)。もう一つ確認するのは、リリースビルド(一部のスタックフレームが最適化されている可能性がある)をデバッグしていないことです。ちょうど推測する。 –
ありがとうございます。ストレートObjective - Cとデバッグビルドので、そこに喜びを構築しないでください。 –
'self'がコンパイラによって最適化されると、それが起こります。シミュレータでデバッグしている場合は '$ edi'を試してみてください –