2009-07-11 9 views
25

私はiPhoneアプリケーションを開発しており、ベータテストのために特別な配布を行っています。ユーザーから次のようなクラッシュログが送信されています。iPhoneクラッシュログに「バージョン:???」と表示される

Identifier:  MyAppName 
Version:   ??? (???) 
Code Type:  ARM (Native) 

これらの疑問符を実際のバージョン番号に置き換える方法はわかりません。 Info.plistにCFBundleVersionとCFBundleShortVersionStringを含めるように設定しましたが、それは役に立たなかった...クラッシュログには、私が期待するバージョン番号の代わりに疑問符が含まれています。

バージョンをクラッシュログに表示するにはどうすればよいですか?

EDIT明らかに、iPhone CrashReporterのバグの可能性があるため、「バージョン」を正しく設定する方法はありません。しかし、回避策はありますか?クラッシュログのメタデータにバージョン番号(ビルド番号やSCMリビジョン番号など)を挿入する他の方法はありますか?

+1

をちょっとダンは - あなたは右のすべてをやっているように聞こえます。あなたのInfo.plistの値は私が考える唯一のバージョン番号でなければなりません...これはバグでしょうか? –

+1

いくつかのリリースアプリケーションから私の携帯電話に表示されるすべてのクラッシュログに、バージョン:??? (???)なので、これはちょうどそれがそうである方法だと思います。 –

答えて

28

最も簡単な方法は、配布するすべてのバイナリのUDIDを保存し、クラッシュダンプ内のUDIDと比較することです。 UDIDはビルドごとに異なります。

$ dwarfdump -u /path/to/MyApp.app/MyApp 
UUID: 864F3D54-F165-3356-3292-2C9C48E97C55 (armv6) /path/to/MyApp.app/MyApp 

そしてcrashlogと比較:UDID取得するには

Binary Images: 
    0x1000 - 0x5ffff +MyApp armv6 <864F3D54F165335632922C9C48E97C55> /var/mobile/Applications/5FB3933B-348E-42D7-B99F-76DE284D2148/MyApp.app/MyApp 
+0

悪い状況が最高です。 –

+0

えええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええ、 – rpetrich

+2

Xcode 4のすべてのアーカイブを検索するのに役立つなら、非常に助けてくれてありがとう@rpetrich: 'find〜/ Library/Developer/Xcode/Archives/-name -print0 | xargs -0 dwarfdump -u | grep <大文字大文字の部分> '。私は 'mdfind'を使っても同じことが達成できると思いますが、' .xcarchive'ファイルの内容を索引付けしていないスポットライトのように見えます。 –

3

これは、Appleのものを含むのすべてのiPhoneアプリの場合のようです。あなたはコンソールで、あなたのデバイスのためのiPhoneアプリケーションのクラッシュログのすべてに目を通すことができます。そのリスト内

FILES /〜/ライブラリ/ Logs/CrashReporter /モバイル装置/ ...

すべてが現れますわずかに異なる情報を持っているMobileSafariを除き、私にとって未知のバージョンで:

OS Version:   iPhone OS 2.2.1 (5H11) 
Date:    2009-02-15 02:19:06 -0600 

Appleのカレンダー&メールアプリを含む他のすべてのアプリケーションは、そのバージョン番号のクエスチョンマークを表示。

他の開発者がthe same thingに気付いたようです。おそらく、iPhoneのCrashReporterプログラムのバグです。

+0

ありがとうございます。回避策はありますか?クラッシュログのメタデータにバージョン番号(ビルド番号やSCMリビジョン番号など)を挿入する方法 –

+0

残念ながら私が知っているわけではありません。私はすでにこの記事の私のリーグから外れています:) –

2

アドホックテストとベータテストの場合は、あなたのIDを変更してください。明らかに、これはあなたのApp Storeのバージョンでは機能しませんが、ベータテストを受けることができます。

これはおそらくワイルドカードアドホックプロファイルを必要とすることに注意してください。ただし、これらは開発者ポータルから簡単に作成できます。

+0

ワイルドカードのアドホックプロファイルがうまく動作しませんでしたが、デベロッパーポータルではいつも多くの幻惑が必要です。 –

関連する問題