如何通过崩溃日志了解应用拒绝?

问题描述 投票:0回答:1

我的应用由于这个原因被拒绝:

当我们执行以下操作时,您的应用在WiFi上运行iOS 13.4.1的iPad上崩溃了。

  • 点击任何锁定的内容
  • 点击设置图标

我们已附上详细的崩溃日志以帮助解决此问题。

我测试了我的应用。一切正常。如何找到错误?

三个崩溃日志之一:

Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x000000010403514c
Termination Signal: Trace/BPT trap: 5
Termination Reason: Namespace SIGNAL, Code 0x5
Terminating Process: exc handler [630]
Triggered by Thread:  0

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   appTime                         0x000000010403514c 0x104014000 + 135500
1   appTime                         0x00000001040351b8 0x104014000 + 135608
2   UIKitCore                       0x00000001acfece08 -[UIViewController _sendViewDidLoadWithAppearanceProxyObjectTaggingEnabled] + 100
3   UIKitCore                       0x00000001acff1898 -[UIViewController loadViewIfRequired] + 936
4   UIKitCore                       0x00000001acff1ca0 -[UIViewController view] + 28
5   UIKitCore                       0x00000001acf1cccc -[_UIFullscreenPresentationController _setPresentedViewController:] + 80
6   UIKitCore                       0x00000001acf10810 -[UIPresentationController initWithPresentedViewController:presentingViewController:] + 188
7   UIKitCore                       0x00000001ad0014bc -[UIViewController _presentViewController:withAnimationController:completion:] + 2616
8   UIKitCore                       0x00000001ad004014 __63-[UIViewController _presentViewController:animated:completion:]_block_invoke + 104
9   UIKitCore                       0x00000001ad00451c -[UIViewController _performCoordinatedPresentOrDismiss:animated:] + 508
10  UIKitCore                       0x00000001ad003f64 -[UIViewController _presentViewController:animated:completion:] + 196
11  UIKitCore                       0x00000001ad0041d0 -[UIViewController presentViewController:animated:completion:] + 164
12  UIKitCore                       0x00000001ad791db0 __67-[UIStoryboardModalSegueTemplate newDefaultPerformHandlerForSegue:]_block_invoke + 248
13  UIKitCore                       0x00000001ad796ac4 -[UIStoryboardSegueTemplate _performWithDestinationViewController:sender:] + 292
14  UIKitCore                       0x00000001ad796970 -[UIStoryboardSegueTemplate _perform:] + 92
15  UIKitCore                       0x00000001acff43b0 -[UIViewController performSegueWithIdentifier:sender:] + 104
16  appTime                         0x0000000104023c44 0x104014000 + 64580
17  appTime                         0x0000000104023338 0x104014000 + 62264
18  UIKitCore                       0x00000001ad80bb4c -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:isCellMultiSelect:] + 1200
19  UIKitCore                       0x00000001ad80b684 -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 108
20  UIKitCore                       0x00000001ad80be8c -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 268
21  UIKitCore                       0x00000001ad63b94c _runAfterCACommitDeferredBlocks + 316
22  UIKitCore                       0x00000001ad62b2f4 _cleanUpAfterCAFlushAndRunDeferredBlocks + 232
23  UIKitCore                       0x00000001ad65b744 _afterCACommitHandler + 76
24  CoreFoundation                  0x00000001a9504fb8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32
25  CoreFoundation                  0x00000001a94ffeac __CFRunLoopDoObservers + 420
26  CoreFoundation                  0x00000001a9500328 __CFRunLoopRun + 968
27  CoreFoundation                  0x00000001a94ffc34 CFRunLoopRunSpecific + 424
28  GraphicsServices                0x00000001b364938c GSEventRunModal + 160
29  UIKitCore                       0x00000001ad63222c UIApplicationMain + 1932
30  appTime                         0x000000010401b3ec 0x104014000 + 29676
31  libdyld.dylib                   0x00000001a9387800 start + 4
ios crash-reports
1个回答
0
投票
请参阅Apple Developer网站上的Technical Note TN2151 - Understanding and Analyzing Application Crash Reports

当应用程序崩溃时,将创建一个

崩溃报告并将其存储在设备上。崩溃报告描述了应用程序终止的条件,在大多数情况下,这些条件包括每个执行线程的完整回溯,通常对于调试应用程序中的问题非常有用。您应该查看这些崩溃报告,以了解您的应用程序遇到的崩溃,然后尝试对其进行修复。

具有回溯的崩溃报告需要

符号化

,然后才能对其进行分析。符号化将存储器地址替换为易于理解的函数名称和行号。如果您通过Xcode的“设备”窗口从设备上注销崩溃日志,那么几秒钟后它们会自动为您表示。否则,您需要自己将.crash文件符号化,方法是将其导入到Xcode Devices窗口中。有关详细信息,请参见Symbolicating Crash Reports因此,在使用Xcode构建应用程序时,编译器还会生成调试符号。通常,您应该将调试符号存储在与提交以供审查的版本相对应的dSYM文件中。

如果您的应用在审核期间崩溃,则App Store审核小组成员会获取并与您共享崩溃日志。现在,崩溃日志包含计算机(汇编语言)说明,您可以使用Xcode象征崩溃报告。这样做会将机器符号转换为您在代码中具有的标识的名称,这将帮助您确定发生崩溃的代码部分。

请阅读随附的技术说明,以了解如何轻松确定应用程序崩溃的代码部分,并通过修复提高效率。

© www.soinside.com 2019 - 2024. All rights reserved.