App Store にクラッシュするアプリがあります。SO でいくつかのソリューションを試して、オーガナイザー、ターミナル、およびインストゥルメントをさまざまなタイミングで使用して、アプリを象徴化しました。これまでのところ何も機能していません。Apple メソッドの行がシンボル化されていても、アプリのメソッドからのレポートの行はシンボル化されません。しばらく見回した後、これは「Angie's List」の行に沿ったアプリ名と関係があるように思われます-アポストロフィとスペースの両方. ストアで公開されているため、アプリ名を変更するには遅すぎます。私はこれに対する解決策をどこにも見たことがなく、正しい方向に突き進んでいただければ幸いです。
1 に答える
通常、シンボリック スクリプトに疑わしいバグがない限り、アプリ名は問題になりません。正しい dSYM が利用可能かどうかを確認しましたか?
最新のクラッシュ ログを下にスクロールすると、次の 1 行目を確認できます。次のBinary Images
ようになります。
0x1000 - 0x24cfff +YourApp armv7 <f6012c517d783486ab53e45d948b92a2> /var/mobile/Applications/A8EC3C1F-44AF-169A-BC0E-FBBC0F04CDF5/YourApp.app/YourApp
f6012c517d783486ab53e45d948b92a2
クラッシュの原因となった実行可能ファイルの UUID です。
次のように、ターミナルを使用して正しい dSYM を見つけることができます。
mdfind "com_apple_xcode_dsym_uuids == F6012C51-7D78-3486-AB53-E45D948B92A2"
文字列F6012C51-7D78-3486-AB53-E45D948B92A2
は、大文字および 8-4-4-4-12 グループに再フォーマットされた上記の文字列です。このコマンドは何も返さないと思います。
dSYM (.xcarchive など) がある場合は、ターミナルで次のように UUID を確認できます。
dwarfdump --uuid YourApp.app.dSYM
シンボリケーションが自動的に機能しない場合は、iOS クラッシュ レポート: atos が期待どおりに機能しないという記事に掲載されている手順に従って、手動で行うことができます。
アプリケーションにスペースやアポストロフィなどの特殊文字が含まれている場合、デフォルトの Apple ツールチェーンはそれを記号化できません。その理由は、otool
ツールチェーンで使用されているツールがそれを処理できないためです。ファイル名をどのように渡しても。したがって、これを修正するには、次のことを行う必要があります。
- dSYM パッケージの名前を変更し、すべての特殊文字を削除します (例: from
My App's.app.dSYM
to )。MyApps.app.dSYM
- パッケージ内のコンテンツを開き、下に移動します
Contents/Resources/DWARF
- 上で行ったように、そこにあるファイルの名前を変更します
もう一度やり直してください。これらすべてを回避する最善の方法:アプリ名に特殊文字を使用しないでください。画面に表示される名前を調整する場合は、CFBundleDisplayName
または対応する plist エントリを使用します。