745

Xcode 8+ を使用して新しい空のプロジェクトを作成すると、アプリケーションの実行時に次のログが表示されます。

2016-06-13 16:33:34.406093 TestiOS10[8209:100611] bundleid: com.appc.TestiOS10, enable_level: 0, persist_level: 0, propagate_with_activity: 0
2016-06-13 16:33:34.406323 TestiOS10[8209:100607] Created DB, header sequence number = 248
2016-06-13 16:33:34.409564 TestiOS10[8209:100611] subsystem: com.apple.UIKit, category: HIDEvents, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 0, privacy_setting: 0
2016-06-13 16:33:34.504117 TestiOS10[8209:100607] Created DB, header sequence number = 248
2016-06-13 16:33:34.548023 TestiOS10[8209:100607] subsystem: com.apple.BaseBoard, category: MachPort, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 0, privacy_setting: 0
2016-06-13 16:33:34.568458 TestiOS10[8209:100608] subsystem: com.apple.FrontBoard, category: Common, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 0, privacy_setting: 0

たぶん、誰かがこれを処理するための構成をすでに見つけましたか?

4

14 に答える 14

383

@rustyshelf からの元のツイートと iDevzilla からの図解された回答に基づいて、デバイスからの NSLog 出力を無効にせずにシミュレーターからのノイズを消すソリューションを次に示します。

  1. [Product] > [Scheme] > [Edit Scheme...] > [Run (Debug)] の下で、OS_ACTIVITY_MODE 環境変数を ${DEBUG_ACTIVITY_MODE} に設定して、次のようにします。

ここに画像の説明を入力

  1. プロジェクトのビルド設定に移動し、[+] をクリックして、DEBUG_ACTIVITY_MODE という名前のユーザー定義の設定を追加します。この設定を展開し、[デバッグ] の横にある [+] をクリックして、プラットフォーム固有の値を追加します。ドロップダウンを選択し、「Any iOS Simulator」に変更します。次に、その値を「無効」に設定して、次のようにします。

ここに画像の説明を入力

于 2016-09-23T01:09:19.423 に答える
65

ツイートに答えがありました - https://twitter.com/rustyshelf/status/775505191160328194

Xcode 8 iOS シミュレーターの異常なログ記録を停止するには、デバッグ スキームで環境変数 OS_ACTIVITY_MODE = disable を設定します。

出来た。

于 2016-09-13T05:52:07.220 に答える
35

これは Xcode バージョン 8.0 ベータ 2 (8S162m) ではまだ修正されておらず、余分なログが Xcode コンソールにも表示されています。

** 2016 年 8 月 1 日編集: これは、Xcode 8 Beta 4 (8S188o) のリリース ノートで、まだ解決されていない問題として認識されています

Xcode 8 ベータ 4 の既知の問題 – IDE

デバッグ

• Xcode Debug Console は、シミュレーターでアプリケーションをデバッグするときに、システム フレームワークからの追加のログを表示します。(27331147、26652255)

おそらく、これは GM リリースによって解決されるでしょう。それまでは我慢してください。理想的ではありませんが、私が使用している回避策を以下に示します...

前の回答と同様に、次のことを行う必要があります。

  • 印刷ログの前に何らかの特殊文字を付けます (例: * または ^ または ! など)

  • 次に、コンソール ペインの右下にある検索ボックスを使用して、選択した特殊文字を入力してコンソール ログをフィルタリングし、コンソールに印刷ログが意図したとおりに表示されるようにします。

コンソール

于 2016-07-06T04:54:56.013 に答える
23

私の解決策は、ブレークポイントでデバッガー コマンドログ メッセージを使用することです。

ここに画像の説明を入力

そして、コンソールの出力をAll OutputからDebugger Outputのように変更します

ここに画像の説明を入力

于 2016-07-07T02:47:05.220 に答える
13

これは、Xcode 8 Beta リリース ノートにあるログに関する既知の問題に関連しています(WWDC のエンジニアにも尋ねました)。

Watch シミュレーターで WatchOS アプリケーションをデバッグする場合、OS は役に立たない大量のログを生成する場合があります。(26652255)

現在利用可能な回避策はありません。Xcode の新しいバージョンを待つ必要があります。

EDIT 7/5/16: これはおそらく Xcode 8 Beta 2 で修正されています:

Xcode 8 ベータ 2 – IDE で解決済み

デバッグ

  • シミュレーターでアプリをデバッグすると、ログが表示されます。(26457535)

Xcode 8 ベータ 2 リリース ノート

于 2016-06-14T01:46:16.983 に答える
5

Xcode 10では、(または) 値OS_ACTIVITY_MODEを持つ変数も何があってもオフにします。disabledefaultNSLog

したがって、コンソールのノイズを取り除きたいが、自分のログは取り除きたくない場合は、 =printf("")の影響を受けないため、 NSLog の代わりに古き良きものを試すことができます。OS_ACTIVITY_MODEdisable

ただし、ここos_logで新しいAPIを確認してください。

于 2019-01-20T20:35:40.957 に答える
1
于 2016-07-05T14:00:39.403 に答える