役立つ場面
- ビルド間のバイナリ出力を確認するとき。
- リリース前にアーキテクチャSliceやプラットフォームメタデータを確認するとき。
- dylib依存、rpaths、エクスポートシンボルを確認するとき。
- App Store提出前にPrivate APIの兆候を探すとき。
macOSでのバイナリ検査
ABDiffは、Sliceごとのメタデータ、Load Commands、Segments、Exports、Private APIの可能性を読み取り専用の構造化ツリーで確認できるmacOS向けMach-O比較ツールです。
生のバイナリ diff では粒度が低すぎる場面で役立ちます。実行ファイル、フレームワーク、アプリバイナリの実際の構造に変更を対応付けて確認できます。
| 領域 | 重要な理由 |
|---|---|
| ヘッダとSlices | CPUターゲット、ファイル種別、Universal BinaryのSlice構成を確認できます。 |
| Load Commands | プラットフォーム版数、dylib依存、実行時パスを確認できます。 |
| Segments | Mach-Oイメージ内部の構造レイアウト変化を理解できます。 |
| Exports | SwiftやObjective-Cを含む公開シンボルの変化を確認できます。 |
| Private API候補 | 配布前に追加確認すべきヒューリスティックを見つけやすくします。 |