web-dev-qa-db-ja.com

Xcode:コピー中にデバッグシンボルを削除する必要がありますか?

TestFlight SDK は、Xcodeビルド設定でStrip Debug Symbols During CopyYESに設定して、可能な限り最高のクラッシュレポートを有効にすることをお勧めします。デフォルトではYESに設定されていることに気付きました。

YESに変更する必要がありますか?なぜか、なぜそうでないのか?

27
ma11hew28

私はTestFlightで働いています。短い答えは:YESに設定します。

長い答え:

@Kerniは正しいです。サーバー側の記号化を開始する前に、そのデータをデバイス上で記号化する必要がありました。

したがって、dSYMをTestFlightにアップロードすると、それらを取り除くことができます。何らかの理由でdSYMをアップロードしたくない場合は、そのままにしておくと、TestFlightがデバイスでシンボルを表示できます。

基本的にREADMEは更新されませんでした。@ Manniに申し訳ありません!次のリリースのために更新します(このセクション全体を削除します)。

混乱についてすみません!

28
jasongregori

デフォルト設定がYESの場合、他に何もする必要はありません。

通常、この設定により、デバッグシンボルが分散バイナリの一部にならないようになり、ファイルサイズが30〜50%削減されます。代わりに、デバッグシンボルをdSYM DWARFファイルに書き込む必要があります。このファイルは、後でクラッシュレポートを表すために使用できます。

26
Kerni

TestFlight SDKでは、この設定をYESではなく[〜#〜] no [〜#〜]に設定することをお勧めします。

可能な限り最高のクラッシュレポートを有効にするには、ライブクラッシュレポートを作成するすべてのターゲットについて、Xcodeで次のプロジェクトビルド設定をNOに設定することをお勧めします。ビルド設定を見つけるには、プロジェクトナビゲーター(デフォルトのコマンド+ 1またはコマンド+ Shift + j)を開き、構成するプロジェクト(通常はリストの最初の選択)をクリックします。そこから、グローバルプロジェクト設定を変更するか、個々のプロジェクトごとに設定を変更するかを選択できます。以下の設定はすべて展開セクションにあります。

  • 展開後処理
  • コピー中にデバッグシンボルを削除
  • ストリップリンクされた製品

Bugsense(http://www.bugsense.com/pages/faq)も、この設定でこの設定を推奨しています。

IOSアプリのスタックトレースの代わりにメモリダンプを取得するのはなぜですか?
通常、iOSアプリにはデバッグ情報が含まれていないか、この情報は拡張子dSYM(デバッグSYMbols)が付いた特別なファイルに含まれています。 iOSアプリのデバッグ情報をオン(バイナリに含める)にするには、すべてのプロジェクト構成で「ストリップデバッグシンボル」と呼ばれるプロジェクト設定をNOに設定する必要があります。

8
Manni