この回答は、最新の XCode 5.1.1 に必要なものであることがわかりました。
最近、アドホック ビルドのクラッシュ ログがありました。XCode はシンボル化を拒否しました。数時間前にアーカイブされたビルドがあり、アーカイブされたビルドを使用してシンボリケーションを強制したいと考えていました。これが私がやった方法です:
1) まず、ターミナル ウィンドウを開き、アーカイブを含むディレクトリに移動しました。このコマンドを実行しました:
xcrun dwarfdump --uuid Example.app/Example | tr '[:upper:]' '[:lower:]' | tr -d '-'
これにより、アーカイブされたビルドの dsym_uuid が抽出されました。tr コマンドは、GUID をダッシュ付きの大文字の GUID からダッシュなしの小文字の GUID に変換します。
2) .crash ファイルに移動し、クラッシュ ログ内のバイナリに関連付けられている GUID を、マシンの xcdarchive に関連付けられている GUID に変更しました。
たとえば、
0x80000 - 0x49efff +MyApp armv7 <aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa> /var/mobile/Applications/DC23BDC0-75E3-4DCA-8AC3-099889CE22E0/MyApp.app/MyApp
に
0x80000 - 0x49efff +MyApp armv7 <bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb> /var/mobile/Applications/DC23BDC0-75E3-4DCA-8AC3-099889CE22E0/MyApp.app/MyApp
3) 端末から、DEVELOPER_DIR 環境変数を次のように設定しました。
export DEVELOPER_DIR=/Applications/XCode.app/Contents/Developer
4) 最後に、次のコマンドを実行しました。
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash -v MyApp.crash /Users/me/Library/Developer/Xcode/Archives/2013-05-31/MyApp\ 5-31-13\ 7.00\ PM.xcarchive/Products/Applications/MyApp.app
XCode の新しいバージョンでは、symbolicatecrash へのパスが次のように変更されることに注意してください。
/Applications/Xcode6.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash
このコマンドは、持っている .crash ファイルを使用して、アーカイブに対して symbolicatecrash を実行します