Приложение отклонено из-за тайм-аута сторожевого таймера от Apple, но didFinishLaunching не занимает много времени - PullRequest
0 голосов
/ 11 января 2019

Я знаю, что существует множество вопросов по той же проблеме, но большая часть ответов касается блокировки пользовательского интерфейса и основного потока для некоторых вызовов, выполненных в методе didFinishLaunchingWithOptions.

Я попытался запустить инструмент таймера для своего приложения и отладить свой код (устройство и симуляторы). При первом запуске приложения требуется около 11 секунд, чтобы пройти заставку, но когда я отлаживаю свой код, это занимает около 8-9 секунд даже перед выполнением первой строки кода в didFinishLaunchingWithOptions.

Похоже, что мои appDelegateMethods в общем занимают около 2-3 секунд, что позволяет приложению стать отзывчивым, что выглядит довольно справедливо.

Кроме того, после первого запуска, когда я пытаюсь запустить свое приложение с или без инструментов таймера, требуется около 4-5 секунд, чтобы стать активным.

Итак, мой вопрос: почему моему приложению при первом запуске требуется около 8-9 секунд, чтобы перейти к методу didFinishLaunchingWithOptions?

У меня тоже ничего нет в willFinishLaunchingWithOptions методе.

У вас есть идеи? Или я что-то здесь скучаю? Спасибо.

1 Ответ

0 голосов
/ 11 января 2019

Я считаю, что у вас могут быть проблемы со временем загрузки динамических библиотек. Вы можете проверить эту проблему, добавив переменную окружения DYLD_PRINT_STATISTICS в свою схему и проверив вывод консоли после запуска.

settings

...