我已完成应用程序的开发过程,在将其发布到应用程序商店之前,我已经完成了几轮测试(在IOS版本6.0.1上进行了Adhoc测试)。在进行Adhoc测试时,我没有发现构建的任何问题。一切都很好。在提交到app store之后,我收到苹果团队的报告,称应用程序在具有IOS版本6.1.3的iphone 5上崩溃。所以我将我的iphone更新为6.1.3。更新到最新版本后,我将构建上传到testflight并从中下载了应用程序。它崩溃了。我从手机上卸载了应用程序并直接连接到系统,并通过xcode直接安装,没有任何代码更改。应用程序开始正常工作我对崩溃背后的原因感到困惑。我确信它不是代码的问题,因为如果我通过xcode直接安装,相同的代码工作正常。 通过testflight直接从xcode安装应用程序的差异是什么? 可能是什么问题? 我象征着崩溃日志,发现代码没有错。 有没有人遇到类似的问题?如果得到修复PLZ帮助我。你的帮助非常受人尊敬。谢谢 下面是我的崩溃日志
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>
答案 0 :(得分:11)
通过XCode直接安装应用程序将使用“调试”配置(还取决于它在构建方案中的设置)。首先存档,将使用您的Adhoc / Release配置。
配置可能在搜索路径,常量,预处理器宏以及编译/构建期间使用的其他内容方面有所不同。
由于直接从xcode构建时效果很好,您可以查看Run构建配置('Debug')和'Archive'构建配置(上图中的'Adhoc')之间的差异。
要查看配置之间的差异,请选择您的应用目标并使用<Multiple values>
搜索字段(在“内部设置”标签内)
您也可以设置“运行”步骤以使用“发布”配置(使用接受设备的正确配置),在这种情况下,您应该能够在连接到xcode时捕获异常(和也许可以更好地了解使用断点导致它的原因。
答案 1 :(得分:0)
KERN_INVALID_ADDRESS是一个糟糕的演员或僵尸对象。如果它是一个糟糕的演员,它应该在调试和释放时崩溃。调试器可以隐藏一些内存错误。好消息是在发布版本中可重复崩溃。您只需要在仪器中分析您的应用程序 使用Zombie Instrument。
这是一个很好的教程: http://www.dimzzy.com/blog/2011/02/hunting-down-zombies-in-ios-apps/