5

XCodeでシンボリックを使用してからしばらく経ちましたが、以前は機能していました。今日、これを試してみたら…

  1. アプリをアーカイブします。
  2. XCode からデバイスにアプリをインストールします。(デバイスを接続し、アプリをリリース モードで実行するだけです)。
  3. Xcode からアプリを停止しました。
  4. もちろんクラッシュした私のデバイス(Macに接続されている)でアプリを実行しました。
  5. オーガナイザーを開いてデバイス ログに移動すると、新しいクラッシュ ログ ファイルが表示されます。
  6. しかし、私のアプリのシンボルを象徴することはできません。すべての Apple ライブラリのものは問題なくシンボル化されています。

ネット全体を検索しましたが、何も機能していないようです。

編集:ビルド設定で、リリースビルドでも「コピー中にデバッグシンボルを削除」を無効にすると、すべて正常に動作します。しかし、Xcode は、私が推測する dSYM ファイルを使用してシンボリック化できたはずです。デバッグ シンボルを含むアプリを配布したくありません。

前もって感謝します。

4

4 に答える 4

4

この記事は、問題がどこにあるかを見つけるのに役立ちます: http://support.hockeyapp.net/kb/how-tos-faq/how-to-solve-symbolication-problems

あなたが言ったのでrun in release mode、デバイスで実行されているバージョンはあなたがアーカイブしたものではありません! DerivedDataそのため、ディレクトリに既に利用可能なリリース ビルドがある場合は、それが必要になります。それ以外の場合は、新しいビルドを作成してインストールします。

シンボリック化が機能しない理由として、次の 2 つの可能性があります。

  1. 後で別のリリース ビルドを行っているため、以前のビルドと dSYM は上書きされます (上記のリンクの説明を参照してください)。
  2. Spotlight は、クラッシュ レポートに記述された UUID を持つ dSYM とアプリ バイナリを検出しません (確認するには、上記のリンクの説明を参照してください)。

更新: シンボルの削除に関する注意: 編集した投稿に記載されているようにシンボルを削除しない場合、デバイスでのシンボル化は既に行われています。しかし、もちろん、行番号がありません。

于 2013-03-09T11:01:34.900 に答える
0

上記のソリューションで Kerni によって提供されたリンクをたどると、クラッシュ ログ ファイルの UUID を使用して dSYM ファイルを見つけることができなかったのはスポットライトであることがわかりました。

次のコマンドを実行しています...

mdimport 。

... 製品フォルダー (MyApp1.app と myApp.app.dSYM があるフォルダー) で問題が解決されました。

アプリケーションをビルドするたびに実行する必要がある理由がわかりません.Macは何らかの理由で自動的に実行していません. しかし、それは機能します。

于 2013-03-09T18:01:01.570 に答える
0

空白のあるディレクトリに Xcode をインストールしました。ディレクトリの空白を削除して修正し、xcode-select を実行しました。(mdimportは私にとってはうまくいきませんでした)

    sudo xcode-select -switch <myxcodedir>
于 2013-06-29T02:46:50.210 に答える