Сколько времени требуется, чтобы начать получать обновления местоположения после перезагрузки устройства iOS?

У меня есть приложение, которое выполняет мониторинг геозон/маяков. Приложение хорошо работает на переднем плане, в фоновом режиме и в выключенном состоянии.

Проблема: я заметил задержку в событиях маяка/геозоны (вход/выход) после перезагрузки телефона (не убивая приложение) и не запуская приложение вручную после перезапуска. Я начинаю получать события входа/выхода только после 3-4 минут перезапуска, даже если я захожу в регион раньше. Это нормальное поведение?

Спасибо


person Frost_Mourne    schedule 18.01.2016    source источник


Ответы (1)


Это нормально. Я заметил эту задержку в несколько минут с тех пор, как CoreLocation добавил поддержку iBeacon в версии 7. Точное количество времени варьируется от одной модели оборудования к другой и даже между перезагрузками на одном и том же оборудовании. модель.

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

person davidgyoung    schedule 18.01.2016
comment
Спасибо, что вернулись к этому. Из обсуждений, которые я изучал, я тоже считаю, что это нормально, но я не могу найти какой-либо четкой документации об этой конкретной задержке... В частности, от Apple, из-за чего довольно сложно убедить в этом любого конечного клиента. - person Frost_Mourne; 19.01.2016
comment
Согласованный. К сожалению, это тот случай, когда подход Apple с закрытым исходным кодом действительно кусает разработчиков приложений. Потому что нет способа доказать клиентам, что это поведение не является ошибкой, или даже точно определить, когда можно ожидать такого поведения. - person davidgyoung; 19.01.2016
comment
Спасибо. Другое дело, если вы имеете представление о? В приведенном выше случае я не убивал приложение перед перезагрузкой устройства. На всякий случай убиваю и перезагружаю устройство. Каков был ваш опыт для этого сценария? Я ожидал - НЕ получать какие-либо события входа/выхода, так как, по-видимому, ОС не будет автоматически уведомлять приложение. НО я получаю спорадические и неустойчивые события входа, например. например, через 44 минуты после перезапуска. есть идеи? - person Frost_Mourne; 19.01.2016
comment
Я не могу объяснить это наблюдение. Уничтожение приложения не должно влиять на обнаружение после перезагрузки. - person davidgyoung; 19.01.2016
comment
Хотя я согласен с тем, что это должно быть четко указано в спецификациях, или, по крайней мере, иметь последовательное поведение было бы здорово, я лично думаю, что разработчики немного слишком зациклены на этом. Если вы не имеете в виду какой-то очень специфический вариант использования, который приводит к частой перезагрузке устройства, большинство пользователей iOS перезагружаются только во время обновлений iOS. - person heypiotr; 19.01.2016
comment
Спасибо за введение, ребята. @heypiotr: Я согласен, и я думаю, что большинство разработчиков тоже, но это больше парней/клиентов QA, которые смущаются по этому поводу. Такие разработчики, как мы, оказались в затруднительном положении из-за отсутствия надлежащей документации и последовательного поведения. - person Frost_Mourne; 19.01.2016