Для контекста я работаю над приложением, которое требует разрешения authorizedAlways
. Со времени выпуска iOS 13 мы заметили, что ~ 3-4% наших пользователей получают обновления местоположения (от didUpdateLocations
), которые имеют координаты 0,0
и horizontalAccuracy
2500. Это, кажется, только происходитпока приложение находится в фоновом режиме.
Это все очень запутанно, учитывая, что приложение регистрирует все изменения статуса авторизации (используя didChangeAuthorization
), и ни в коем случае я не вижу никаких изменений в значении, отличном от authorizedAlways
. Тем не менее, основываясь на ручном тестировании, которое я сделал, кажется, что приложение будет уведомлено об изменении статуса authorizedAlways
после того, как пользователь нажмет начальную подсказку requestAlwaysAuthorization
с Allow While Using App
. Затем, когда пользователь на какое-то время создает фоновое приложение, он воспроизводится с двумя вариантами: Keep Only While Using
или Change to Always Allow
. Кажется, что приложение получает уведомление об изменении статуса авторизации только в том случае, если пользователь продолжает выбор Keep Only While Using
(а приложение уведомляется об изменении authorizedWhenInUse
.)
У меня была гипотеза, чтокакое-то странное состояние между пользователем, запрашиваемым для фонового использования (или ОС, определяющая запрос, требуется) и пользователем, фактически отвечающим на приглашение, но мое тестирование довольно последовательно показало, что в этом состоянии приложение просто не получает никакого местоположенияОбновления.
Я столкнулся с проблемой устранения неполадок и надеюсь, что это просто ошибка iOS 13, но я еще не слышал о других приложениях, сталкивающихся с этой проблемой. Буду очень признателен за любые предложения относительно дальнейших идей по устранению неполадок или просто за то, что ваше приложение также столкнулось с этой проблемой, так что я могу перестать биться об этом!