AppStore更新后神秘的应用程序崩溃
Posted
技术标签:
【中文标题】AppStore更新后神秘的应用程序崩溃【英文标题】:Mysterious app crash after AppStore update 【发布时间】:2013-08-15 09:00:18 【问题描述】:我们已向 AppStore 发布了一款应用,但在更新后,它在尝试登录后崩溃。我们一直严重依赖其中的CoreData
数据库,我们认为这是崩溃的原因。尽管如此,我无法从设备中获得任何有价值的信息,只是一个包含一些线程信息的崩溃日志。下面是它的外观:
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0xd0000008
Crashed Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libobjc.A.dylib 0x32b3e5b0 objc_msgSend + 16
1 Foundation 0x337cbd18 -[NSError dealloc] + 56
2 libobjc.A.dylib 0x32b40484 (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 164
3 CoreFoundation 0x31bc843c _CFAutoreleasePoolPop + 12
4 Foundation 0x337ccf76 -[NSAutoreleasePool drain] + 118
5 CoreData 0x32f6d4ae -[NSManagedObjectContext save:] + 1206
6 ourapp 0x0012fbf8 0xba000 + 482296
7 CoreData 0x32f70bbe developerSubmittedBlockToNSManagedObjectContextPerform + 86
8 CoreData 0x32f70cee -[NSManagedObjectContext performBlockAndWait:] + 90
9 ourapp 0x0012fb4c 0xba000 + 482124
10 ourapp 0x000c4e08 0xba000 + 44552
11 ourapp 0x000cced4 0xba000 + 77524
12 ourapp 0x000db50a 0xba000 + 136458
13 ourapp 0x0014c41a 0xba000 + 599066
14 Foundation 0x33893ef2 __65-[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:]_block_invoke_0 + 14
15 Foundation 0x337d39ec -[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:] + 196
16 Foundation 0x337d3908 -[NSURLConnectionInternal _withActiveConnectionAndDelegate:] + 56
17 CFNetwork 0x38da65dc ___delegate_didFinishLoading_block_invoke_0 + 24
18 CFNetwork 0x38da5cc8 ___withDelegateAsync_block_invoke_0 + 52
19 CFNetwork 0x38dce130 ___performAsync_block_invoke_068 + 16
20 CoreFoundation 0x31bcb74a CFArrayApplyFunction + 174
21 CFNetwork 0x38dce58e RunloopBlockContext::perform() + 70
22 CFNetwork 0x38d3215a MultiplexerSource::perform() + 186
23 CoreFoundation 0x31c5a680 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 12
24 CoreFoundation 0x31c59f7a __CFRunLoopDoSources0 + 358
25 CoreFoundation 0x31c58cb2 __CFRunLoopRun + 642
26 CoreFoundation 0x31bcbeb8 CFRunLoopRunSpecific + 352
27 CoreFoundation 0x31bcbd44 CFRunLoopRunInMode + 100
28 GraphicsServices 0x399c92e6 GSEventRunModal + 70
29 UIKit 0x394872f4 UIApplicationMain + 1116
30 ourapp 0x000be76a 0xba000 + 18282
31 ourapp 0x000bb684 0xba000 + 5764
我还有其他机会从这种情况中获得更多信息吗?如何将其插入 XCode 并可能跟踪崩溃,或者它只能在事后完成?
最重要的是,您认为导致崩溃的原因是什么?
【问题讨论】:
您是否在设备中进行了新更改的调试? @Maulik 这是应用程序的最新版本,它会导致崩溃 从静态分析器开始也启用NSZombie。 @Maulik 直接从 AppStore 调试应用程序时应该使用哪种工具?我暂时无法安装 XCode 版本。 ***.com/questions/1460892/… 【参考方案1】:我们的问题与 Core Data 轻量级迁移有关。我们使用“Magical Record”库来处理我们的核心数据获取和更新它解决了这个问题。
另外,this blog post 非常有用。
【讨论】:
以上是关于AppStore更新后神秘的应用程序崩溃的主要内容,如果未能解决你的问题,请参考以下文章
iOS App(使用核心数据)更新后崩溃,但只有 App Store 版本
从 AppStore 或 TestFlight 启动时应用程序崩溃,但在其他方面工作正常
CoreAnalytics::Client / FrameworkConfiguration::init 内部的神秘崩溃