5

Appleは私たちのiphoneアプリを拒否し、iPadでクラッシュしたことを示しました。3つの異なるiPadでクラッシュを再現できず、確認を求めました。Appleは、iPhone 4でクラッシュが発生したと言って戻ってきました(ログにはiPhone 3が示されていますが)。再現できません...

次の方法でクラッシュが発生します:アプリを起動します。[最初に見回してみましょう]を選択します。アプリがクラッシュします。

彼らが私たちに送り返したログには、次のようなアプリ独自のメソッドが表示されていないようです。

ncident Identifier: 8B5E90DE-99FD-4279-B634-2C777209F2B3
CrashReporter Key:   6e9ccd0fcdc29915ebe22fb7376bd343cdcc252a
Hardware Model:      iPhone3,1
Process:         Snug [297]
Path:            /var/mobile/Applications/DB3EFF00-7E5E-492A-9108-1341B6371B0D/Snug.app/Snug
Identifier:      Snug
Version:         ??? (???)
Code Type:       ARM (Native)
Parent Process:  launchd [1]

Date/Time:       2012-09-09 13:00:32.642 -0700
OS Version:      iPhone OS 5.1.1 (9B206)
Report Version:  104

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x00000000, 0x00000000
Crashed Thread:  6

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0:
0   libsystem_kernel.dylib          0x319e7660 __semwait_signal_nocancel + 24
1   libsystem_c.dylib               0x3410b4da nanosleep$NOCANCEL + 118
2   libsystem_c.dylib               0x340dd3a0 usleep$NOCANCEL + 44
3   libsystem_c.dylib               0x340dd2b6 abort + 118
4   Snug                            0x001f8760 uncaught_exception_handler + 12
5   CoreFoundation                  0x37830950 __handleUncaughtException + 68
6   libobjc.A.dylib                 0x3553533e _objc_terminate + 122
7   libc++abi.dylib                 0x36f683be safe_handler_caller(void (*)()) + 70
8   libc++abi.dylib                 0x36f6844a std::terminate() + 14
9   libc++abi.dylib                 0x36f6981e __cxa_rethrow + 82
10  libobjc.A.dylib                 0x355352a2 objc_exception_rethrow + 6
11  CoreFoundation                  0x37786506 CFRunLoopRunSpecific + 398
12  CoreFoundation                  0x37786366 CFRunLoopRunInMode + 98
13  GraphicsServices                0x33f45432 GSEventRunModal + 130
14  UIKit                           0x31532cce UIApplicationMain + 1074
15  Snug                            0x000f590c main (main.m:16)
16  Snug                            0x000f58c0 start + 32

Thread 1 name:  Dispatch queue: com.apple.libdispatch-manager
Thread 1:
0   libsystem_kernel.dylib          0x319d73a8 kevent + 24
1   libdispatch.dylib               0x3095cea4 _dispatch_mgr_invoke + 708
2   libdispatch.dylib               0x3095cbc2 _dispatch_mgr_thread + 30

Thread 2:
0   libsystem_kernel.dylib          0x319e7cd4 __workq_kernreturn + 8
1   libsystem_c.dylib               0x3409ff36 _pthread_wqthread + 610
2   libsystem_c.dylib               0x3409fcc8 start_wqthread + 0

Thread 3:
0   libsystem_kernel.dylib          0x319e7cd4 __workq_kernreturn + 8
1   libsystem_c.dylib               0x3409ff36 _pthread_wqthread + 610
2   libsystem_c.dylib               0x3409fcc8 start_wqthread + 0

Thread 4 name:  WebThread
Thread 4:
0   libsystem_kernel.dylib          0x319d7004 mach_msg_trap + 20
1   libsystem_kernel.dylib          0x319d71fa mach_msg + 50
2   CoreFoundation                  0x378043ec __CFRunLoopServiceMachPort + 120
3   CoreFoundation                  0x37803124 __CFRunLoopRun + 876
4   CoreFoundation                  0x3778649e CFRunLoopRunSpecific + 294
5   CoreFoundation                  0x37786366 CFRunLoopRunInMode + 98
6   WebCore                         0x3312fc9c RunWebThread(void*) + 396
7   libsystem_c.dylib               0x340a572e _pthread_start + 314
8   libsystem_c.dylib               0x340a55e8 thread_start + 0

Thread 5 name:  com.apple.NSURLConnectionLoader
Thread 5:
0   libsystem_kernel.dylib          0x319d7004 mach_msg_trap + 20
1   libsystem_kernel.dylib          0x319d71fa mach_msg + 50
2   CoreFoundation                  0x378043ec __CFRunLoopServiceMachPort + 120
3   CoreFoundation                  0x37803124 __CFRunLoopRun + 876
4   CoreFoundation                  0x3778649e CFRunLoopRunSpecific + 294
5   CoreFoundation                  0x37786366 CFRunLoopRunInMode + 98
6   Foundation                      0x38016bb2 +[NSURLConnection(Loader) _resourceLoadLoop:] + 302
7   Foundation                      0x38016a7a -[NSThread main] + 66
8   Foundation                      0x380aa58a __NSThread__main__ + 1042
9   libsystem_c.dylib               0x340a572e _pthread_start + 314
10  libsystem_c.dylib               0x340a55e8 thread_start + 0

Thread 6 Crashed:
0   libsystem_kernel.dylib          0x319e7cd4 __workq_kernreturn + 8
1   libsystem_c.dylib               0x3409ff36 _pthread_wqthread + 610
2   libsystem_c.dylib               0x3409fcc8 start_wqthread + 0

Thread 7:
0   libsystem_kernel.dylib          0x319e7cd4 __workq_kernreturn + 8
1   libsystem_c.dylib               0x3409ff36 _pthread_wqthread + 610
2   libsystem_c.dylib               0x3409fcc8 start_wqthread + 0

Thread 8:
0   libsystem_kernel.dylib          0x319e7cd4 __workq_kernreturn + 8
1   libsystem_c.dylib               0x3409ff36 _pthread_wqthread + 610
2   libsystem_c.dylib               0x3409fcc8 start_wqthread + 0

Thread 9 name:  com.apple.CFSocket.private
Thread 9:
0   libsystem_kernel.dylib          0x319e7570 __select + 20
1   CoreFoundation                  0x3780863a __CFSocketManager + 726
2   libsystem_c.dylib               0x340a572e _pthread_start + 314
3   libsystem_c.dylib               0x340a55e8 thread_start + 0

Thread 6 crashed with ARM Thread State:
    r0: 0x00000004    r1: 0x00000000      r2: 0x00000000      r3: 0x00000000
    r4: 0x0c8cc800    r5: 0x0036a08c      r6: 0x04339000      r7: 0x04338fe0
    r8: 0x3f29fd30    r9: 0x00000000     r10: 0x3f29fd50     r11: 0x00000000
    ip: 0x00000170    sp: 0x04338fc0      lr: 0x3409ff3d      pc: 0x319e7cd4
  cpsr: 0x40000010

誰かがこのクラッシュレポートで私たちを啓発できますか?

アップデート:

私たちはアプリレビューチームにコンソールトレースを送信するように依頼しました。トレースでは、存在しないStringカテゴリメソッドが呼び出されていることが明らかでした。

障害は、特定のカテゴリの実装ファイルがリリースターゲットに追加されなかったことです。したがって、すべてが完全に機能しましたが、アプリがアーカイブされたときに実装ファイルがありませんでした。

4

3 に答える 3

2

残念ながら、このログはあまり役に立たないように見えます。別のスレッドから再スローされている例外を処理しているメインスレッドを示しているだけです。そのスレッドは、ログの時点で何か他のことをするためにオフになっています。

RestKitあなたはループについてのあなたの疑いに言及し、可能性NSOperationは例外を投げています。それは可能であり、チェックインする価値があります(そして、他の何かを壊さないように指を交差させます...)が、再現するためのより良い手順を提供するようにアプリレビューチームに頼む時が来たと思います。皆さんが異なって行っていることを特定できるかどうかを確認してください。もっと良い答えがあればいいのにと思いますが、アプリのこの部分でバックグラウンドで何をしているかについてできる限り調べ、再現するための欠落している手順を見つけ出すことが最善の策になると思います。幸運を!

于 2012-09-11T13:01:47.903 に答える
1

クラッシュは、一番上のSnugline4のスレッド0で発生しました。

   Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0:
0   libsystem_kernel.dylib          0x319e7660 __semwait_signal_nocancel + 24
1   libsystem_c.dylib               0x3410b4da nanosleep$NOCANCEL + 118
2   libsystem_c.dylib               0x340dd3a0 usleep$NOCANCEL + 44
3   libsystem_c.dylib               0x340dd2b6 abort + 118
4   Snug                            0x001f8760 uncaught_exception_handler + 12
5   CoreFoundation                  0x37830950 __handleUncaughtException + 68
6   libobjc.A.dylib                 0x3553533e _objc_terminate + 122
7   libc++abi.dylib                 0x36f683be safe_handler_caller(void (*)()) + 70
8   libc++abi.dylib                 0x36f6844a std::terminate() + 14
9   libc++abi.dylib                 0x36f6981e __cxa_rethrow + 82
10  libobjc.A.dylib                 0x355352a2 objc_exception_rethrow + 6
11  CoreFoundation                  0x37786506 CFRunLoopRunSpecific + 398
12  CoreFoundation                  0x37786366 CFRunLoopRunInMode + 98
13  GraphicsServices                0x33f45432 GSEventRunModal + 130
14  UIKit                           0x31532cce UIApplicationMain + 1074
15  Snug                            0x000f590c main (main.m:16)
16  Snug                            0x000f58c0 start + 32

そこで、アプリはキャッチされなかった例外を引き起こしました。レポートを象徴するには、レポートをxCodeにドラッグするだけです。レビュー済みバージョンのdSYMファイルが必要です。次に、xCodeは、問題が発生した正確な行を表示します。dSymを入手するには、「ビルドしてアーカイブ」する必要があります。

また、クラッシュコードは

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x00000000, 0x00000000

クラッシュの理由は、メモリアクセスの問題です。この種のクラッシュレポートは、nilオブジェクトを配列またはディクショナリに挿入しようとする多くの場合に生成されます。(クラッシュはメインスレッドで発生し、報告されているスレッド6では発生しないため)

あなたの場合、明らかな挿入は見られませんが、メインファイルの16行目以降のすべてのロジックを確認します。この呼び出しの時点でもう存在しないオブジェクトにアクセスしていると思います。

于 2012-09-10T16:32:51.137 に答える
0

以下を使用してクラッシュレポートを分析できます

Appleからのクラッシュレポートを分析する手順:

appstoreにプッシュされたリリース.appファイル、リリース時に作成された.dSYMファイル、およびAPPLEから受信したクラッシュレポートをFOLDERにコピーします。

ターミナルアプリケーションを開き、上記で作成したフォルダに移動します(CDコマンドを使用)

atos -arch armv7 -oYOURAPP.app/YOURAPPMEMORY_LOCATION_OF_CRASH。レポートによると、メモリの場所はアプリがクラッシュした場所である必要があります。

例:atos -arch armv7 -o'app name.app' /'app name' 0x0003b508

これにより、クラッシュの原因となった正確な行、メソッド名が表示されます。

例:[クラス名functionName:]; -510

IPAを象徴する

シンボリックにIPAを使用する場合、拡張子.ipaの名前を.zipに変更し、それを抽出すると、アプリを含むペイロードフォルダーを取得できます。この場合、.dSYMファイルは必要ありません。

この象徴的なiPhoneアプリのクラッシュレポートへのリンク

于 2012-09-11T08:33:06.870 に答える