Why does the .crash log show failures in the UIPresentationController, but my application does not use the UIPresentationController?

I have an application in the app store, and there is a crash report showing a very rare crash with details below:

Incident Identifier: C25BD8DF-FAA9-4A5F-B3D2-6E1CE81F1D17
CrashReporter Key:   798f7dee81117ed0f05b3f19dc4bbc2874eefaf6
Hardware Model:      iPhone9,2
Process:             My app [1936]
Path:                /private/var/containers/Bundle/Application/757D7BE6-4F91-4B74-BA64-09FA53AE3E16/My app.app/My app
Identifier:          com.app.Myapp
Version:             12 (1.1)
Code Type:           ARM-64 (Native)
Role:                Foreground
Parent Process:      launchd [1]
Coalition:           com.app.Myapp [701]


Date/Time:           2017-06-27 20:05:28.7901 -0400
Launch Time:         2017-06-27 16:38:23.0376 -0400
OS Version:          iPhone OS 10.3.2 (14F89)
Report Version:      104

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000010
Termination Signal: Segmentation fault: 11
Termination Reason: Namespace SIGNAL, Code 0xb
Terminating Process: exc handler [0]
Triggered by Thread:  0

Thread 0 name:
Thread 0 Crashed:
0   UIKit                           0x0000000190ee4264 __56-[UIPresentationController runTransitionForCurrentState]_block_invoke + 444 (UIPresentationController.m:731)
1   UIKit                           0x0000000190ee4260 __56-[UIPresentationController runTransitionForCurrentState]_block_invoke + 440 (UIPresentationController.m:731)
2   UIKit                           0x0000000190e20950 _runAfterCACommitDeferredBlocks + 292 (UIApplication.m:2469)
3   UIKit                           0x0000000190e129ec _cleanUpAfterCAFlushAndRunDeferredBlocks + 528 (UIApplication.m:2447)
4   UIKit                           0x0000000190b86648 _afterCACommitHandler + 132 (UIApplication.m:2499)
5   CoreFoundation                  0x000000018aa109a8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 (CFRunLoop.c:1802)
6   CoreFoundation                  0x000000018aa0e630 __CFRunLoopDoObservers + 372 (CFRunLoop.c:1898)
7   CoreFoundation                  0x000000018aa0ea7c __CFRunLoopRun + 956 (CFRunLoop.c:2849)
8   CoreFoundation                  0x000000018a93eda4 CFRunLoopRunSpecific + 424 (CFRunLoop.c:3113)
9   GraphicsServices                0x000000018c3a8074 GSEventRunModal + 100 (GSEvent.c:2245)
10  UIKit                           0x0000000190bf9058 UIApplicationMain + 208 (UIApplication.m:4089)
11  My app                          0x000000010005a8b4 main + 56 (Database.swift:17)
12  libdyld.dylib                   0x000000018994d59c start + 4

My application does not use the UIPresentationController, so why is it displayed as the last line in Thread 0, which is the thread that crashed?

+4
source share
1 answer

Without looking at your code, it is rather difficult to answer. Typically, you should check for possible classes (including system frameworks) that you can ignore, which are actually a subclass of UIPresentationController. In addition, a third-party library may reference this class (or subclass).

, , UIKit. UIPresentationController - , . , UIKit - (, - ). Apple docs.

0

Source: https://habr.com/ru/post/1681983/


All Articles