У меня есть приложение для упражнений, которое я создаю для клиента. У меня все работало правильно. Я недавно обновил свой телефон до iOS 12, и поведение служб определения местоположения в приложении перестало работать, как ожидалось.
Я получаю разрешение с помощью .requestAlwaysAuthorization()
, и службы определения местоположения для приложения правильно установлены на «Всегда» в меню «Настройки»> «Конфиденциальность»> «Службы определения местоположения».
Когда пользователь начинает упражнение, черная стрелка местоположения появляется, как и ожидалось. Однако, когда пользователь блокирует телефон, стрелка меняется только на черный контур, и примерно через 10 секунд она исчезает.
Поэтому я запрашиваю разрешение у .requestAlwaysAuthorization()
.
У меня есть набор Privacy - Location Always and When in Use Usage Description
в моем info.plist.
Я установил locationManager.delegate
и распечатал в отладчике, чтобы я знал, что CLLocationManager .didUpdateLocations
срабатывает, пока телефон разблокирован. Однако эти вызовы прекращаются, когда телефон заблокирован.
Я запускаю тесты на реальном iPhone 7+, а не на симуляторе. Я пробовал подключить его к XCode и в «реальной жизненной ситуации», и это не работает ни в одной ситуации.
Кто-нибудь имел эту проблему, или кто-нибудь знает что-нибудь, что изменилось между iOS11 и iOS12.