私は、共通のコードベースを共有する一連の iOS アプリに取り組んでいます。共通コードベースをスタティック ライブラリとして開発しましたが、そのデバッグ シンボルをプライマリ アプリの .dSYM ファイルに含めたいと考えています。私の理解では、これは可能ですが、まだ機能していません。
スタティック ライブラリをターゲットとする独自のプロジェクト内の共通コードベース。このプロジェクトは、プライマリ アプリのプロジェクトにドラッグされます。プライマリ アプリのターゲットのビルド フェーズで、静的ライブラリをターゲットの依存関係として追加し、[ライブラリとバイナリをリンク] の下に追加しました。プロジェクトがビルドされ、必要に応じて実行されます。
ここで、メイン プロジェクトからアーカイブを生成すると、そのアーカイブを Finder で表示できます。アーカイブには、クラッシュ ログを象徴するために使用できる .dSYM ファイルが含まれています。ただし、.dSYM にはプライマリ アプリのシンボルのみが含まれ、静的ライブラリのシンボルは含まれません。これを過剰に確認するために、次を実行しました。
dwarfdump /path/to/app.dSYM
そして、出力には(ほとんど)静的ライブラリからのシンボルが含まれていませんでした。私が見つけた唯一の例外は、私のプライマリ プロジェクトの AppDelegate がスタティック ライブラリ内のオブジェクトのサブクラスであり、.dSYM 内にそのスーパー クラスのエントリがあることです。ただし、他のクラスは存在しません。
スタティック ライブラリのプロジェクトのターゲットのビルド設定で、次のように設定しました。
- コピー中にデバッグ シンボルを取り除く: いいえ
- ストリップリンク製品: いいえ
- デバッグ シンボルの生成: はい
- デフォルトで非表示のシンボル: いいえ
誰かが何らかのガイダンスを提供できれば、私はそれを大いに感謝します.