4

ビルドをアーカイブしようとすると、xcode がカラフルなスピニー ホイール オブ デスでハングします。以前は問題なく動作していましたが、アーカイブ ファイルを手動で削除しない限り、アーカイブを閲覧できなくなりました。ただし、問題なくデバイスにビルドできます。アーカイブからすべてのコンテンツを手動で (実際のアーカイブ ファイルを削除して) 削除しましたが、アーカイブ/オーガナイザー ペインには何も表示されません (アーカイブを削除したため)。しかし、もう一度アーカイブしようとすると、ビルドされてから、アーカイブ/オーガナイザー ウィンドウを再度開こうとすると、ハングします。それが生成するアーカイブ ファイルは約 30 MB のアーカイブ ファイルです...しかし、私はそれを使用することを恐れています..

死のスピニーホイールが回転している間に「Activity Monitor」を開くと、次のように表示されます。

Lion で XCode 4.3.2 をアンインストールして再インストールしましたが、結果はありません。

また、Unity3D からプロジェクトを構築しています。

誰かが別のスレッドで次のように言及しました:「私は同様の問題を抱えていましたが、/Developer/usr/bin から /usr/bin へのシンボリック リンクが問題の原因であることがわかりました (Xcode 4.3 が一部の exec を移動したため)。 "

私はこのようなことは何もありません。また、すべてのクラスを新しい「プロジェクト」に移動しても、Unity 内からビルドするたびにプロジェクトがまったく新しく作成されるため、役に立ちません。

XCode 4.3.2 Mac OS X (10.7.3)

アイデアや提案は私にとって非常に役に立ちます。何でも。ありがとう。

4

1 に答える 1

5

簡単な解決策: 以下を実行します: 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 スパイクを引き起こしているようです。

于 2012-04-12T16:40:56.283 に答える