Тестовая версия показывает всплывающее окно приложения без завершения работы приложения (проблема beginBackgroundTask)
У некоторых тестировщиков появляется всплывающее окно с аварийным завершением работы приложения, в то время как приложение отлично работает на переднем плане. Я реализовал крашлитику, но лога сбоев нет. Если я прошу тестеров оставить отзыв, appstoreconnect покажет только сведения об устройстве, а не файл аварийных журналов.
Каким-то образом мне удалось собрать журналы сбоев из данных Analytics в настройках iPhone. И вот что говорят крашлоги:
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<com.product.officeChat>:533 exhausted real (wall clock) time allowance of 10.00 seconds | ProcessVisibility: Background | ProcessState: Running | WatchdogEvent: scene-update | WatchdogVisibility: Foreground | WatchdogCPUStatistics: ( | "Elapsed total CPU time (seconds): 15.730 (user 15.730, system 0.000), 57% CPU", | "Elapsed application CPU time (seconds): 9.107, 33% CPU" | )
Triggered by Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
Мое приложение - это приложение для чата, которое включает функцию отправки сообщений в фоновом режиме. И я предполагаю, что приведенный ниже код вызывает эти сбои
backgroundTask = UIApplication.shared.beginBackgroundTask(withName: "MessageSenderFor\(channelID)", expirationHandler: { [weak self] in
print("expiration block remainin time", UIApplication.shared.backgroundTimeRemaining)
self?.isSendingMessages = false
self?.endBackgroundTask()
})
Если кто-нибудь когда-либо сталкивался с такой проблемой, помогите мне с решением. Я пытался понять это в течение нескольких недель без какого-либо решения.