【发布时间】:2014-08-11 09:51:17
【问题描述】:
我的应用在启动时因崩溃而被拒绝。但是尝试通过iTunes和testflight安装应用程序在设备上运行它,我还在我的应用程序中实现了crashlytics,但我仍然找不到崩溃的根源。我该怎么办?
我们发现您的应用在启动时崩溃,因此我们无法对其进行审核。
请修改您的应用并在设备上进行测试,以确保它可以 在没有崩溃的情况下启动,并且它按预期运行,之前 重新提交。
请查看随附的崩溃日志。
对于离散代码级别的问题,您不妨咨询 Apple 开发者技术支持。如果您有崩溃日志,请用符号表示 联系 Apple 开发者技术支持之前的崩溃日志。
如果您无法重现此问题,请尝试测试 使用 Xcode 的存档测试工作流程中描述的工作流程 功能。
编辑: 我试图用符号表示崩溃日志,我看到它在线程 0 索引 0 上崩溃,这是 getAllContacts 函数。我不确定有什么问题。这是代码:
- (NSMutableArray *)getAllContacts{
ABAddressBookRef addressBook = ABAddressBookCreate( );
CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople( addressBook );
CFIndex nPeople = ABAddressBookGetPersonCount( addressBook );
NSMutableArray *contact = [[NSMutableArray alloc] init];
for ( int i = 0; i < nPeople; i++ )
{
ABRecordRef ref = CFArrayGetValueAtIndex( allPeople, i );
NSString *firstName = CFBridgingRelease(ABRecordCopyValue(ref, kABPersonFirstNameProperty));
NSString *lastName = CFBridgingRelease(ABRecordCopyValue(ref, kABPersonLastNameProperty));
if(lastName == nil && firstName != nil){
[contact addObject:[NSString stringWithFormat:@"%@", firstName]];
}
else if(lastName != nil && firstName == nil){
[contact addObject:[NSString stringWithFormat:@"%@", lastName]];
}
else{
[contact addObject:[NSString stringWithFormat:@"%@ %@", firstName, lastName]];
}
}
CFRelease(addressBook);
CFRelease(allPeople);
NSLog(@"All Contacts: %@", contact);
return contact;
}
这是符号化后的崩溃日志:
{"bundleID":"com.axon.undotext","app_name":"Undo Text","bug_type":"109","name":"Undo Text","os_version":"iPhone OS 7.1.1 (11D201)","version":"1.5 (1.0)"}
Incident Identifier: CDEE9887-DE46-4C7B-93D9-6F5B64C30448
CrashReporter Key: 814350e202fe6bd49117983388396d3d1b870da1
Hardware Model: xxx
Process: Undo Text [3268]
Path: /var/mobile/Applications/1F7938ED-7911-4838-8F79-26039EF3E386/Undo Text.app/Undo Text
Identifier: com.axon.undotext
Version: 1.5 (1.0)
Code Type: ARM (Native)
Parent Process: launchd [1]
Date/Time: 2014-06-12 13:43:03.567 -0700
OS Version: iOS 7.1.1 (11D201)
Report Version: 104
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x000000000000defe
Triggered by Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 CoreFoundation 0x2eb0b3c5 CFRelease + 1137
1 Undo Text 0x00035897 -[ContactsManager getAllContacts] (ContactsManager.m:58)
2 Undo Text 0x00028d59 -[ViewController setupView] (ViewController.m:123)
3 Undo Text 0x00028901 -[ViewController viewDidLoad] (ViewController.m:65)
4 UIKit 0x3140ea4f -[UIViewController loadViewIfRequired] + 515
5 UIKit 0x3140e80d -[UIViewController view] + 21
6 UIKit 0x31485c39 -[UIClientRotationContext initWithClient:toOrientation:duration:andWindow:] + 385
7 UIKit 0x3148459d -[UIWindow _setRotatableClient:toOrientation:updateStatusBar:duration:force:isRotating:] + 1197
8 UIKit 0x314840e3 -[UIWindow _setRotatableClient:toOrientation:updateStatusBar:duration:force:] + 43
9 UIKit 0x3148406b -[UIWindow _setRotatableViewOrientation:updateStatusBar:duration:force:] + 91
10 UIKit 0x31484003 -[UIWindow _setRotatableViewOrientation:duration:force:] + 39
11 UIKit 0x3147c67d __57-[UIWindow _updateToInterfaceOrientation:duration:force:]_block_invoke + 105
12 UIKit 0x31410695 -[UIWindow _updateToInterfaceOrientation:duration:force:] + 381
13 UIKit 0x31483d55 -[UIWindow setAutorotates:forceUpdateInterfaceOrientation:] + 693
14 UIKit 0x31483825 -[UIViewController _tryBecomeRootViewControllerInWindow:] + 157
15 UIKit 0x31415611 -[UIWindow addRootViewControllerViewIfPossible] + 457
16 UIKit 0x31412dd5 -[UIWindow _setHidden:forced:] + 301
17 UIKit 0x3147ca4d -[UIWindow makeKeyAndVisible] + 57
18 UIKit 0x314796e1 -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1817
19 UIKit 0x31473cc5 -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 717
20 UIKit 0x3140fc93 -[UIApplication handleEvent:withNewEvent:] + 3547
21 UIKit 0x3140edf5 -[UIApplication sendEvent:] + 69
22 UIKit 0x31473401 _UIApplicationHandleEvent + 613
23 GraphicsServices 0x33a46b53 _PurpleEventCallback + 607
24 GraphicsServices 0x33a4673b PurpleEventCallback + 31
25 CoreFoundation 0x2eba5845 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 33
26 CoreFoundation 0x2eba57df __CFRunLoopDoSource1 + 343
27 CoreFoundation 0x2eba3fab __CFRunLoopRun + 1403
28 CoreFoundation 0x2eb0e765 CFRunLoopRunSpecific + 521
29 CoreFoundation 0x2eb0e547 CFRunLoopRunInMode + 103
30 UIKit 0x31472627 -[UIApplication _run] + 759
31 UIKit 0x3146d88d UIApplicationMain + 1133
32 Undo Text 0x0004deff main (main.m:16)
33 Undo Text 0x00027764 start + 36
Thread 1 name: Dispatch queue: com.apple.libdispatch-manager
Thread 1:
0 libsystem_kernel.dylib 0x39d52804 kevent64 + 24
1 libdispatch.dylib 0x39ca1051 _dispatch_mgr_invoke + 229
2 libdispatch.dylib 0x39c9b2df _dispatch_mgr_thread + 35
Thread 2:
0 libsystem_kernel.dylib 0x39d65c70 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x39dcac1f _pthread_wqthread + 307
2 libsystem_pthread.dylib 0x39dcaad8 start_wqthread + 4
Thread 3:
0 libsystem_kernel.dylib 0x39d65c70 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x39dcac1f _pthread_wqthread + 307
2 libsystem_pthread.dylib 0x39dcaad8 start_wqthread + 4
Thread 0 crashed with ARM Thread State (32-bit):
r0: 0x00000000 r1: 0x39f720f8 r2: 0x00000003 r3: 0x00000002
r4: 0x00000000 r5: 0x16e85070 r6: 0x00000000 r7: 0x00177300
r8: 0x00000144 r9: 0x3ba52e30 r10: 0x16e69890 r11: 0x31a3841a
ip: 0x2eb0af55 sp: 0x001772c0 lr: 0x0003589b pc: 0x2eb0b3c4
cpsr: 0x60000030
【问题讨论】:
-
您需要符号化崩溃报告,您将在线程 0 帧 1-3 中看到崩溃发生在您自己的代码中。关于如何符号化崩溃报告有很多关于 SO 的帮助。
-
嗨,我研究了如何象征崩溃,并在第 1-3 帧中得到了这个(见编辑)。在第 1 帧,它获取所有用户的联系地址簿。我不确定是什么导致了崩溃。
标签: ios objective-c appstore-approval