iOSのプロジェクトでbitcodeを有効にして、AppStoreより公開した場合、Appleにより、アプリのリビルドが実施される場合があります。その場合、別のバイナリとなってしまっているため、アップロード前に生成された、dSYMファイルを利用してもSymbolicateすることができません。
代わりにiTunes ConnectよりダウンロードしたdSYMファイルを利用していただく必要がございます。また、同時に難読化も行われているため、アプリのアーカイブ時に生成された、xcarchiveに含まれる*.bcsymbolmapというファイルも必要になります。
詳細な手順は下記のとおりになります。
- iTunes Connectより対応するビルドのdSYMの取得
- アプリのarchive時に生成された、*.xcarchiveから BCSymbolMaps フォルダに含まれる *.bcsymbolmap の取得
- XCodeのOrganizerで対象のファイルを右クリックし「Show in Finder」を選択
- finderで、対象の*.xcarchiveを右クリックし、「パッケージの内容を表示」を選択
- BCSymbolMapsのフォルダを任意の場所へコピー
- dsymutilを利用して、dSYMファイルの更新
- 下記コマンドを実行して、ダウンロードしたdSYMを上書き
- dsymutil --symbol-map PATH_TO_BCSYMBOLMAPS_DIR downloaded.dSYM
- PATH_TO_BCSYMBOLMAPS_DIRは前述のBCSymbolMapsのフォルダへのパス
- downloaded.dSYMは前述のiTunes Connectより取得したdSYMへのパス
- 更新されたdSYMをzipして、SmartBeatコンソールへアップロード
※前述の2, 3を行わなかった場合は、__hidden#1234といった名前で関数名が表示されます。