Reputation: 51
I'm trying to fix a crash which occurs in my app a lot. The crash alert shows after killing the app's process (by hitting device's home button twice and swiping up the process) and reopening the app. After closing the Apple's crash popup, the app launches without problems. Sometimes the app crashes in background, even though some time passed since it was closed. Here are the logs I found on the device (I had to replace strings containing company name).
First log, this is related to crash on app start after killing the process (I had to paste links due to SO's character limit):
Crash log#1
https://pastebin.com/kuPSAqJY
Second log, this is related to the second, unclear crash:
Crash log#2
https://pastebin.com/zcjdLpHq
Do you know what may cause these crashes?
The exception raised in both cases is:
Exception Type: EXC_CRASH (SIGKILL) Exception Codes: 0x0000000000000000, 0x0000000000000000 Exception Note: EXC_CORPSE_NOTIFY Termination Reason: Namespace SPRINGBOARD, Code 0x8badf00d Termination Description: SPRINGBOARD, scene-update watchdog transgression: application:4258 exhausted real (wall clock) time allowance of 10.00 seconds | ProcessVisibility: Foreground | ProcessState: Running | WatchdogEvent: scene-update | WatchdogVisibility: Background | WatchdogCPUStatistics: ( | "Elapsed total CPU time (seconds): 6.200 (user 6.200, system 0.000), 63% CPU", | "Elapsed application CPU time (seconds): 4.853, 49% CPU" | )
[edit] I noticed that when I build and run the app on the device through xCode (instead of using Testflight), the crash alert doesn't show up (but the app takes longer to launch). However, an exception in xCode: exc_bad_access is being displayed.
Is there any way I could "translate" these addresses into something more helpful? I noticed that NullReferenceException is being thrown as well (it shows in the output). May these two be related?
Upvotes: 1
Views: 6287
Reputation: 51
For anyone wondering: I haven't found a solution for this problem. Instead, I just submitted the app to App Store and it has been accepted. The crash popup doesn't show up outside of Testflight.
Upvotes: 1
Reputation: 21
Springboard is Apple's application that manages the home screen. In your second log, this line makes me think the app is not responding within the 10 seconds allowed
Termination Description: SPRINGBOARD, scene-update watchdog transgression: application<com.example.myapp>:4258 exhausted real (wall clock) time allowance of 10.00 seconds
Is this app also running on Android or only iOS? Usually an app crashes in the background due to memory constraints -- the iOS will send a warning then if ignored terminate apps when there is not enough memory. Have you noticed if the crash occurs if this is the only app you have running?
Also one thing to try is to connect Xcode to your testing iPhone and run profiling, to view memory usage and the exact line that crashes. Unity compiles into an Xcode project and the statements here are different from the scripts in your unity project. I have found debugging through Xcode to be helpful in these situations but you have to configure the profile to run correctly on an actual device in Xcode. I can help with that if you need it.
Upvotes: 1