3

アプリの開発プロセスを完了し、アプリ ストアにリリースする前に、数回のテスト (IOS バージョン 6.0.1 でのアドホック テスト) を行いました。アドホック テストを行っている間、ビルドに問題は見つかりませんでした。すべてが正常に機能していました。アプリ ストアに送信した後、Apple チームから、IOS バージョン 6.1.3 を搭載した iPhone 5 でアプリケーションがクラッシュしているというレポートを受け取りました。それで、iPhoneを 6.1.3 に更新しました。最新バージョンに更新した後、ビルドをtestflightにアップロードし、そこからアプリをダウンロードしました。クラッシュしていました。電話からアプリをアンインストールし、システムに直接接続し、コードを変更せずにxcodeから直接インストールしました。アプリが正常に動作するようになりました。クラッシュの背後にある理由と混同しています。xcodeを介して直接インストールすると、同じコードが正常に機能するため、コードの問題ではないと確信しています。testflight を介してアプリをインストールする場合と xcode から直接アプリをインストールする場合の違いは何ですか? 何が問題なのですか? クラッシュ ログをシンボル化したところ、コードに問題はありませんでした。誰かが同様の問題に直面していますか?修正された場合は、助けてください。あなたの助けは高く評価されています。以下は私のクラッシュログです

Version:         ??? (???)
Code Type:       `enter code here`ARM (Native)
Parent Process:  launchd `enter code here`[1]
Date/Time:       2013-05-07 10:19:43.206 -0700
OS Version:      iOS 6.1.4 (10B350)
Report Version:  104
Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x43462d40
Crashed Thread:  0
Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libobjc.A.dylib                 0x3bc905d0 objc_msgSend + 16
1   Foundation                      0x348031dc _NSDescriptionWithLocaleFunc + 48
2   CoreFoundation                  0x33f7b42e __CFStringAppendFormatCore + 11158
3   CoreFoundation                  0x33ef289e _CFStringCreateWithFormatAndArgumentsAux +        

4   Foundation                      0x34802cf8 +[NSString stringWithFormat:] + 56
5   Nuedoo                          0x0002f8a2 -[VCache updateWithXML:] (VCache.m:122)
6   Nuedoo                          0x0003f00a -[VParser parseXMLFile:] (VParser.m:80)
7   Nuedoo                          0x0002ecda -[VBrowser open:] (VBrowser.m:23)
8   Nuedoo                          0x0002d6e8 -[Vaayoo_FrameworkAppDelegate:]   (Vaayoo_FrameworkAppDelegate.m:57)
9   UIKit                           0x35e09a9c -[UIApplication  _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] + 248
10  UIKit                           0x35e09620 -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1164
11  UIKit                           0x35e0182e -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 694
12  UIKit                           0x35da9d1a -[UIApplication handleEvent:withNewEvent:]   + 1006
13  UIKit                           0x35da97a8 -[UIApplication sendEvent:] + 68
14  UIKit                           0x35da91ea _UIApplicationHandleEvent + 6194
15  GraphicsServices                0x37ac15f4 _PurpleEventCallback + 588
16  GraphicsServices                0x37ac1222 PurpleEventCallback + 30
17  CoreFoundation                  0x33f6f3e4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 32
18  CoreFoundation                  0x33f6f386 __CFRunLoopDoSource1 + 134
19  CoreFoundation                  0x33f6e20a __CFRunLoopRun + 1378
20  CoreFoundation                  0x33ee1238 CFRunLoopRunSpecific + 352
21  CoreFoundation                  0x33ee10c4 CFRunLoopRunInMode + 100
22  UIKit                           0x35e00468 -[UIApplication _run] + 664
23  UIKit                           0x35dfd2b4 UIApplicationMain + 1116
24  Nuedoo                          0x00056efa main (main.m:14)
25  Nuedoo                          0x0002ce84 start + 36
Thread 1:
0   libsystem_kernel.dylib          0x3c189d98 __workq_kernreturn + 8
1   libsystem_c.dylib               0x3c0d7ad6 _pthread_workq_return + 14
2   libsystem_c.dylib               0x3c0d77f2 _pthread_wqthread + 362
3   libsystem_c.dylib               0x3c0d7680 start_wqthread + 4

Thread 2 name:  Dispatch queue: com.apple.libdispatch-manager
Thread 2:
0   libsystem_kernel.dylib          0x3c1795d0 kevent64 + 24
1   libdispatch.dylib               0x3c0b4d22 _dispatch_mgr_invoke + 806
2   libdispatch.dylib               0x3c0b0374 _dispatch_mgr_thread + 32

Thread 3:
0   libsystem_kernel.dylib          0x3c189d98 __workq_kernreturn + 8
1   libsystem_c.dylib               0x3c0d7ad6 _pthread_workq_return + 14
2   libsystem_c.dylib               0x3c0d77f2 _pthread_wqthread + 362
3   libsystem_c.dylib               0x3c0d7680 start_wqthread + 4

Thread 4 name:  WebThread
Thread 4:
0   libsystem_kernel.dylib          0x3c178e30 mach_msg_trap + 20
1   libsystem_kernel.dylib          0x3c178fd0 mach_msg + 48
2   CoreFoundation                  0x33f6f2b6 __CFRunLoopServiceMachPort + 126
3   CoreFoundation                  0x33f6e02c __CFRunLoopRun + 900
4   CoreFoundation                  0x33ee1238 CFRunLoopRunSpecific + 352
5   CoreFoundation                  0x33ee10c4 CFRunLoopRunInMode + 100
6   WebCore                         0x39ee9390 RunWebThread(void*) + 440
7   libsystem_c.dylib               0x3c0e20de _pthread_start + 306
8   libsystem_c.dylib               0x3c0e1fa4 thread_start + 4

Thread 0 crashed with ARM Thread State (32-bit):
r0: 0x1f5c0ab0    r1: 0x39a512ae      r2: 0x34004b3a      r3: 0xffffffff
r4: 0x43462d38    r5: 0x00000000      r6: 0x34004b3a      r7: 0x2fdd3178
r8: 0x2fdd367c    r9: 0x0e6944ab     r10: 0x3c307c20     r11: 0x1f5c0ca0
ip: 0x3c3b8704    sp: 0x2fdd3164      lr: 0x348031e1      pc: 0x3bc905d0
  cpsr: 0x20000030
</string>
<key>displayName</key>
<string>Nuedoo</string>
<key>name</key>
<string>Nuedoo</string>
<key>os_version</key>
<string>iPhone OS 6.1.4 (10B350)</string>
<key>system_ID</key>
<string></string>
<key>version</key>
<string>??? (???)</string>
</dict>
</plist> 
4

2 に答える 2

11

XCode からアプリを直接インストールすると、「デバッグ」構成が使用されます (ビルド スキームでの設定方法にも依存します)。最初にアーカイブすると、Adhoc/Release 構成が使用されます。

スキームを編集する スキームを編集

構成は、検索パス、定数、プリプロセッサ マクロ、およびコンパイル/ビルド時に使用されるその他のもので異なる場合があります。

xcode から直接ビルドするとうまく動作するため、実行ビルド構成 (「デバッグ」) と「アーカイブ」ビルド構成 (上の画像の「アドホック」) の違いを確認できます。

構成間の違いを表示するには、アプリのターゲットを選択し、フィールドを検索します<Multiple values>([ビルド設定] タブ内) 。ここに画像の説明を入力

「実行」ステップを「リリース」構成を使用するように設定することもできます (デバイスを受け入れる適切なプロビジョニングを使用)。その場合、xcode に接続したときに例外をキャッチできるはずです (おそらくブレークポイントを使用して原因を調べてください)。

于 2013-05-15T12:35:47.370 に答える
0

KERN_INVALID_ADDRESS は、間違ったキャストまたはゾンビ オブジェクトです。キャストが不適切な場合は、リリースだけでなくデバッグでもクラッシュするはずです。デバッガーは、一部のメモリ エラーを非表示にすることができます。良いニュースは、リリース ビルドで再現可能なクラッシュです。Zombie Instrument を使用して、Instruments でアプリをプロファイリングするだけです。

ここに良いチュートリアルがあります: http://www.dimzzy.com/blog/2011/02/hunting-down-zombies-in-ios-apps/

于 2013-05-16T06:15:19.763 に答える