0

私のアプリでは、以下の3つのNSLogを受信して​​います。

AudioStreamBasicDescription:  2 ch,  44100 Hz, 'lpcm' (0x00000C2C) 8.24-bit little-endian signed integer, deinterleaved
2012-06-01 17:05:43.397 App[1579:707] authenticateWithCompletionHandler: enter
2012-06-01 17:05:43.399 App[1579:707] authenticateWithCompletionHandler: exit

ただし、これらのNSLogがどこから来ているのかわかりません。私のプロジェクトのすべてのクラスを通過せずに見つける方法はありますか?

これらのログは本当に私を悩ませており、実際のコンソール出力を実際に見ることをより困難にしています。

アドバイスをいただければ幸いです。

ありがとう!

4

4 に答える 4

3

command + shift + f write NSLog を押して Enter キーを押し、プロジェクト全体で NSLog を検索します。

nslog が見つからない場合は、SDK 内から生成されます。

于 2012-06-01T21:19:08.133 に答える
2

はい、Xcode で左側の小さな検索バーに移動し (図を参照)、適切なキーワードを検索します。

ここに画像の説明を入力

注: Game Center のものをプロジェクトにインポートしたと思います。おそらくそこから来ています。

于 2012-06-01T21:18:00.710 に答える
2

"NSLog(@"authenticateWithCompletionHandler" を検索してみてください。それでも結果が得られない場合は、Omar が述べたように、OS から来ている可能性があります。

于 2012-06-01T21:18:31.800 に答える
0

NSLogs をより詳細に記述する必要があります。必要なだけの情報を提供してください。次のように、すべての NSLog ステートメントをマクロ (IE: MYLog) に置き換えることを検討してください。

#define MYLog(msg) NSLog(__FILE__ "(" __LINE__ "): " msg);

次に、MYLog を NSLog のように使用します。

注: Obj-C は NSString に「@」プレフィックス付きの文字列を使用し、NSLog は NSString を取るため、これを少し変更する必要がある場合があります。私はプリプロセッサがあまり得意ではないので、これを行う方法はわかりませんが、'##' プリプロセッサ演算子を使用すると仮定します。

于 2012-06-01T21:26:03.463 に答える