Нет прямого способа разграничить все причины, по которым ваше приложение переходит в фоновый режим. Однако вы можете позвонить по номеру CFAbsoluteTimeGetCurrent()
в applicationWillResignActive:
, сохранить отметку времени и проверить, прошло ли достаточно времени в applicationDidBecomeActive:
для подтверждения ввода PIN-кода. Например, если прошло менее 10 секунд, вы можете пропустить ввод PIN-кода. Это делает ваше приложение менее безопасным, но в то же время оно также будет раздражать пользователей.
Хотя это решение может показаться далеко не идеальным, на самом деле, не имеет значения, почему ваше приложение отказалось от своего активного состояния. Какова бы ни была причина, он может стать активным через очень долгое время, и он может также никогда не стать активным снова, если iOS решит прекратить его.