Skip to content

Xcodeでの「Failed to initialize logging system」エラー解決方法

Logging Error: Failed to initialize logging system. Log messages may be missing.というエラーは、主にXcode 15以降でSwiftプロジェクトを実行した際に発生します。このエラーはログシステムの初期化ができず、実行速度が低下する原因となります。以下の解決法を順に試してください。


🛠 【解決策1】環境変数を追加する

最も効果的な解決法はIDEPreferLogStreaming環境変数を追加することです。

設定手順:

  1. XcodeでProductSchemeEdit Schemeを選択
  2. 左ペインからRunを選択
  3. ArgumentsタブのEnvironment Variablesセクションへ移動
  4. ➕ボタンをクリックして新規変数を追加:
    • Name: IDEPreferLogStreaming
    • Value: YES
  5. Closeで設定を保存

Edit Scheme画面での設定位置

⚠️ 注意: この設定後、一度Xcodeを完全に再起動してください。


⚡ 【解決策2】追加環境変数の設定

上記で解決しない場合、さらに2つの環境変数を追加します。

txt
IDELogRedirectionPolicy=oslogToStdio  
OS_ACTIVITY_MODE=disable

設定場所:

  • 同じEnvironment Variablesエリア内で追加
  • 各変数を別々の行に設定

🧹 【解決策3】テストターゲットの整理

不要なファイルがテストターゲットに含まれていると発生することがあります。特にXcodeのバージョンアップ後(例: 15.2→15.3)に顕著です。

  1. プロジェクトナビゲーターでターゲットを選択
  2. Build PhasesCompile Sourcesを開く
  3. 各テストターゲット(UnitTests/UITests)について:
    • メインターゲットのファイルが含まれていないか確認
    • テスト対象のファイル(*Tests.swift, *UITests.swift)のみ残す
  4. 不要ファイルを➖で削除

💎 推奨アプローチ

以下の順序で試すことを推奨します:

  1. IDEPreferLogStreaming=YESの追加 → 90%のケースで解決
  2. 効果がない場合追加環境変数設定を実施
  3. Xcodeバージョンアップ直後の場合はテストターゲットの整理

なぜ発生するのか?

このエラーの根本原因は:

  1. Xcodeのログストリーミングシステムの不具合
  2. テストターゲットのリソース競合
  3. 大規模プロジェクトでのリソース割り当て失敗

最新版のXcodeへのアップデートでも完全には解消されていませんが、上記設定でほぼ確実に回避可能です。特にSwiftUIプロジェクトで頻発するため、環境変数の設定をチーム全体で共有することをお勧めします。