簡単な解決策: 以下を実行します: xcode-select -switch /Applications/Xcode.app/Contents/Developer/
解決策にたどり着いた方法:
opendirectoryd デバッグ ロギングをオンにしました: 「odutil set log debug」
/var/logs/opendirectoryd.log ファイル内を検索しました。
このログのブロックが何度も何度もスパムされているのを見続けました。
2012-04-12 11:29:28.420 CDT - 31053.1185984、モジュール: SystemCache - より多くの作業のためのセマフォのシグナリング
2012-04-12 11:29:28.420 CDT - 31053.1185984、モジュール: SystemCache - 応答オブジェクト 0x7fae5b21acb0 のファイナライズ、要求が完了しました
2012-04-12 11:29:28.420 CDT - 31053 - クライアント: 'xcodebuild'、0 セッション、0 ノード、および 0 アクティブ リクエストで終了しました
2012-04-12 11:29:28.421 CDT - トリガー - 'opendirectoryd:nodes;(register|unregister);.*' を監視する新しいノード トリガー
2012-04-12 11:29:28.421 CDT - semaphore_wait が待機します - 最大数のメンバーシップ呼び出しが既に実行中です
2012-04-12 11:29:28.421 CDT - 31053.1185985、モジュール: SystemCache - クライアント: xcodebuild、UID: 501、EUID: 501、GID: 20、EGID: 20
2012-04-12 11:29:28.421 CDT - 31053.1185985、モジュール: SystemCache - グローバル要求リストへの追加 - 新規カウント 1
2012-04-12 11:29:28.421 CDT - 31053.1185985、モジュール: SystemCache - mbr_identifier_to_uuid 要求、UID: 501
2012-04-12 11:29:28.421 CDT - 31053.1185985、モジュール: SystemCache - semaphore_wait は待機します - max_active_work
2012-04-12 11:29:28.421 CDT - 31053.1185985、モジュール: SystemCache - semaphore_wait は待機します - workq
2012-04-12 11:29:28.421 CDT - 31053.1185985、モジュール: SystemCache - パイプラインへの送信
2012-04-12 11:29:28.421 CDT - 31053.1185985、モジュール: SystemCache - 要求パイプラインの実行
2012-04-12 11:29:28.421 CDT - 31053.1185985、モジュール: SystemCache - キャッシュ ヒット - dev14 (0x59574CC0)
2012-04-12 11:29:28.421 CDT - 31053.1185985、モジュール: SystemCache - 応答パイプラインへの送信
2012-04-12 11:29:28.421 CDT - 31053.1185985、モジュール: SystemCache - 応答パイプラインの実行 - 0x10ba2f670
2012-04-12 11:29:28.421 CDT - 31053.1185985、モジュール: SystemCache - mbr_identifier_to_uuid が完了し、1 つの結果が配信されました
2012-04-12 11:29:28.421 CDT - 31053.1185985、モジュール: SystemCache - グローバル要求リストからの削除
2012-04-12 11:29:28.421 CDT - 31053.1185985、モジュール: SystemCache - より多くの作業のためのセマフォのシグナリング
2012-04-12 11:29:28.421 CDT - 31053.1185985、モジュール: SystemCache - 応答オブジェクト 0x10ba2f670 のファイナライズ、要求が完了しました
2012-04-12 11:29:28.421 CDT - 31053 - クライアント: 'xcodebuild'、0 セッション、0 ノード、および 0 アクティブ要求で終了しました
2012-04-12 11:29:28.422 CDT - トリガー - 'opendirectoryd:nodes;(register|unregister);.*' を監視する新しいノード トリガー
2012-04-12 11:29:28.422 CDT - semaphore_wait が待機します - 最大数のメンバーシップ呼び出しが既に実行中です
2012-04-12 11:29:28.422 CDT - 31053.1185986、モジュール: SystemCache - クライアント: xcodebuild、UID: 501、EUID: 501、GID: 20、EGID: 20
2012-04-12 11:29:28.422 CDT - 31053.1185986、モジュール: SystemCache - グローバル要求リストへの追加 - 新規カウント 1
2012-04-12 11:29:28.422 CDT - 31053.1185986、モジュール: SystemCache - mbr_identifier_to_uuid 要求、UID: 501
2012-04-12 11:29:28.422 CDT - 31053.1185986、モジュール: SystemCache - semaphore_wait は待機します - max_active_work
2012-04-12 11:29:28.422 CDT - 31053.1185986、モジュール: SystemCache - semaphore_wait は待機します - workq
Google でこれらの文字列の 1 つを検索し、Apple の開発者フォーラムに隠された次の解決策を思いつきました。
「古い xcodebuild コマンドが、新しい Xcode インストーラーによって放置されていたようです。「xcode-select -switch /Applications/Xcode.app/Contents/Developer/」を実行し、「クリーンにする」と、プロジェクトは完全にビルドされました。」
確かに、それは今動作します。正しくない奇妙なシンボリックリンクだったに違いありません。他の多くの人々は、opendirectoryd と壊れたシンボリック リンクに問題があり、大きな CPU スパイクを引き起こしているようです。