IOS应用程序仅在从应用商店安装时崩溃

时间:2013-12-12 22:10:42

标签: ios xcode app-store

我遇到了一个问题,如果我运行我的应用程序从应用程序商店安装它崩溃(在多个设备上)。但是,当我从xCode在设备上运行完全相同的代码时,它可以正常工作。

我一直在研究,我能找到的唯一建议是在发布模式下运行并将优化级别更改为最快,最小。我试过但它仍然没有崩溃。下面是我得到的崩溃日志:

Incident Identifier: 56DF41AE-4A6A-4328-A50E-03B2ECC245F5
CrashReporter Key:   fabdf09dfea5dfb3a78e5ce49b1fda0291703647
Hardware Model:      iPod4,1
Process:         MobileScripts [356]
Path:            /var/mobile/Applications/24524BCA-F897-45FE-87E5-3C807733C9C6/MobileScripts.app/MobileScripts
Identifier:      MobileScripts
Version:         ??? (???)
Code Type:       ARM (Native)
Parent Process:  launchd [1]

Date/Time:       2013-12-12 13:28:29.474 -0600
OS Version:      iOS 6.1.5 (10B400)
Report Version:  104

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

Last Exception Backtrace:
0   CoreFoundation                  0x3195d29e __exceptionPreprocess + 158
1   libobjc.A.dylib                 0x395dd97a objc_exception_throw + 26
2   CoreData                        0x316fe0d6 -[NSPersistentStoreCoordinator executeRequest:withContext:error:] + 294
3   CoreData                        0x317566de -[NSManagedObjectContext save:] + 726
4   MobileScripts                   0x0002ce0a -[XML parser:didEndElement:namespaceURI:qualifiedName:] (XML.m:105)
5   Foundation                      0x3227b28a _endElementNs + 298
6   libxml2.2.dylib                 0x398f3e58 xmlParseEndTag2 + 612
7   libxml2.2.dylib                 0x398f5546 xmlParseTryOrFinish + 1658
8   libxml2.2.dylib                 0x398f4ce8 xmlParseChunk + 208
9   Foundation                      0x32279d66 -[NSXMLParser parse] + 482
10  MobileScripts                   0x0002c664 -[XML parseXml:] (XML.m:32)
11  MobileScripts                   0x00034686 -[WebService parse] (WebService.m:114)
12  Foundation                      0x322986f8 __65-[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:]_block_invoke_0 + 12
13  Foundation                      0x321d81f4 -[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:] + 196
14  Foundation                      0x321d8110 -[NSURLConnectionInternal _withActiveConnectionAndDelegate:] + 56
15  CFNetwork                       0x3163a45a ___delegate_didFinishLoading_block_invoke_0 + 22
16  CFNetwork                       0x31639b3e ___withDelegateAsync_block_invoke_0 + 50
17  CFNetwork                       0x31661fc6 ___performAsync_block_invoke_068 + 14
18  CoreFoundation                  0x318a3748 CFArrayApplyFunction + 172
19  CFNetwork                       0x31662426 RunloopBlockContext::perform() + 70
20  CFNetwork                       0x315c6038 MultiplexerSource::perform() + 184
21  CoreFoundation                  0x3193267e __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 10
22  CoreFoundation                  0x31931ee4 __CFRunLoopDoSources0 + 208
23  CoreFoundation                  0x31930cb2 __CFRunLoopRun + 642
24  CoreFoundation                  0x318a3eb8 CFRunLoopRunSpecific + 352
25  CoreFoundation                  0x318a3d44 CFRunLoopRunInMode + 100
26  GraphicsServices                0x354562e6 GSEventRunModal + 70
27  UIKit                           0x337b92fc UIApplicationMain + 1116
28  MobileScripts                   0x0002c58e main (main.m:16)
29  libdyld.dylib                   0x39a14b1c tlv_initializer + 4

我看到它与XML.m中的第105行不一样,这只是一个上下文保存:

[context save:&saveError];

就像我说的那样,当我从xcode运行时,这行很好用。有没有人对如何获得有关异常的更多信息或在调试时发生此问题有任何建议?

感谢您的帮助。

修改 我在崩溃期间看了设备日志,发现异常是“'NSInternalInconsistencyException',原因是:'这个NSPersistentStoreCoordinator没有持久存储。它不能执行保存操作。'”。知道为什么这只是从应用程序商店发生的吗?

1 个答案:

答案 0 :(得分:1)

将设备连接到Xcode或iPhone配置程序并观看日志。

另外,如何查看save语句的范围。有没有尝试捕捉它?你有一个NSError对象应该有信息。通常,它会使用NSLog进行记录。

编辑:

在哪里获得商店创建路径并且设备有足够的空间来创建商店?

我猜了。您是否通过应用程序提供持久性存储?让我们说一个sqllight数据库是该应用程序的一部分?您可以从应用程序中读取文件但从不写入。您需要将预先制作的持久性存储移动到您具有写访问权限的目录之一。