web-dev-qa-db-ja.com

NSLogがコンソールに印刷されない

数か月間取り組んできたXcodeプロジェクトがあります。 NSLogで問題が発生したことはありませんが、Xcode 4.2にアップグレードした後、コンソールには何も記録されません。私もviewDidLoadでこれを投げてみました:

    - (void)viewDidLoad
{
    [super viewDidLoad];

    NSLog(@"Can anyone hear me?");

そして何もない。他の誰かがこの問題を抱えているか、解決策を知っていますか?

41
Rob

まあ、これは恥ずかしいです。コンソールはどういうわけか非アクティブになり、実際に変数ウィンドウを見ていました。押す Shift +  + C トリックをしました。

このスレッドに関するRobert Kingに感謝します。

https://devforums.Apple.com/message/565880#56588

77
Rob

これはXcode8 + iOS10のバグです。次の方法で解決できます。

simulatorの場合、Name OS_ACTIVITY_MODEおよび値変数disableをチェックし、チェックします(製品->スキーム->スキームの編集->実行->引数->環境)。 enter image description here

deviceの場合、OS_ACTIVITY_MODEそしてそれをチェックします(値を追加しないでください)。 NSLogはXcode8コンソールに表示されます。 enter image description here

58
Igor

IOS10では、多くのシステムロギングがコンソールに表示されます。これは、スキームの実行引数にOS_ACTIVITY_MODE = disabledを含めることで無効にできます。

ただし、iOS10の場合、NSLogメッセージは表示されなくなります。以前のiOSバージョンでは、メッセージは引き続き表示されます。したがって、ほとんどのテストケースでは、より低いiOSバージョンを使用できます。

それ以外の場合は、テキストを印刷する(印刷関数)Swift関数を含めることができます。これはiOS10で正常に機能しています。

IOS10.0.2およびiOS9.3でテスト済み

9
Vincent

私の問題は、デバッガー出力が選択されていることです。 すべての出力またはターゲット出力に変更すると、NSLogsは正常に表示されます。

これにより、デバッグ領域の左側が混乱する場合があります。

8
timv

私はちょうどこれを経験したので、ここで確認する別のことです。

-> [ログ出力]の下の[フィルター]フィールドに何も入力していないことを確認します。したがって、私の場合、ロガーで用語を検索していて、フィルターテキストフィールドから検索された用語を削除するのを忘れていました。 DOH!

1
Dave Levy

同じ問題がありました。トリックは、プロジェクトから以下の行を検索して削除することです。

  #define NSLog(...)

プロジェクト全体を検索して削除します。

1
bharathi kumar

私の問題は、誤ってApp Delegate(デリゲート-ファイルの所有者)からの参照アウトレットを切断したことです。

0
Jack James