IOS8 iBeacon Мониторинг после перезагрузки устройства
Я разрабатываю приложение IOS с мониторингом и ранжированием iBeacon. Приложение работает на iPad с чистой установкой IOS8, и другие приложения не установлены. Передний план и фоновый мониторинг с уведомлениями работают отлично. Ранжирование тоже отлично работает. Однако после перезагрузки приложение никогда не получает колбэки при обнаружении маяка. У меня включены необходимые фоновые режимы. У меня есть локальные уведомления для обратных вызовов, таких как didEnterRegion, didExitRegion, didDetermineState в AppDelegate. Ни один из них не вызывается после перезагрузки и при наличии активного маяка.
Однако установка одного и того же приложения, переупакованного под другим именем вместе с исходным приложением, дает другой результат. Примерно через 4 минуты после перезагрузки я начинаю получать уведомления от обоих приложений.
Если я удаляю одно из двух приложений, я сталкиваюсь с первоначальной проблемой - не получать обратные вызовы после перезагрузки. Имейте в виду, что оба используют идентичный код.
Сейчас я немного почесал голову и хочу знать, можно ли подтвердить это поведение где-нибудь еще, установив новую версию IOS с одним установленным приложением, поддерживающим iBeacon.
1 ответ
Несколько мыслей:
Попробуйте повторить свои тесты с известным рабочим справочным приложением, таким как Locate. Если вы воспроизведите проблему здесь, это может быть аппаратная проблема ОС.
Выключите маяк перед перезагрузкой, включите его снова примерно через четыре минуты после перезагрузки, затем подождите до 15 минут для обнаружения вашим приложением. В зависимости от возраста вашей модели iPad, обнаружение в фоновом режиме может быть медленным.
Если Locate работает, но ваше приложение не работает даже через 15 минут, опубликуйте упрощенную версию кода, которая воспроизводит проблему.