Приложение iOS с iBeacon должно перезапустить устройство

Я создал простое приложение для iOS с помощью IBeacon. Я запустил это приложение на iPhone 4s с ios7.1 при работе с базовой станцией IBeacon. Все работает прямо в фоновом или переднем плане (область выхода имеет 30-секундную задержку в фоновом режиме). приложение не может отслеживать какие-либо события, хотя настройки устройства не были изменены (BlueTooth и поиск в норме). В этой ситуации необходимо перезагрузить устройство.

Подскажите, пожалуйста, что мне делать в этой ситуации? Спасибо!


person fvmitnick    schedule 04.04.2014    source источник
comment
эй, я столкнулся с той же проблемой. все работает нормально, но при удалении приложения из фона не срабатывает уведомление.   -  person Sunny Shah    schedule 04.06.2014


Ответы (1)


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

Один из способов заставить цикл сканирования Bluetooth LE искать iBeacons — запустить другое приложение на переднем плане, которое использует API ранжирования CoreLocation iBeacon.

Попробуйте установить Найти iBeacon, а затем, как как только ваше приложение перестанет получать уведомления в basckground, запустите «Найти iBeacon» и нажмите «Найти iBeacons». Вы видите iBeacons? Получает ли ваше фоновое приложение уведомление?

Если это сработает, повторите тест и вместо использования приложения Locate для принудительного сканирования просто подождите (при необходимости час). Посмотрите, получите ли вы в конечном итоге свое уведомление, и отметьте, сколько времени это заняло.

Редактировать: похоже, это тот случай, когда iOS перестает искать iBeacons, полностью требуя перезагрузки. См. соответствующий вопрос ниже.

iBeacon: didRangeBeacons останавливается когда вам звонят, необходимо перезагрузить устройство, чтобы оно снова заработало

person davidgyoung    schedule 04.04.2014
comment
Это событие отображается во всех приложениях с IBeacon (оценка, airLocate и т. д.). Я пытался открыть другое приложение и использовать API-интерфейсы ранжирования IBeacon на переднем плане, но они не получают никаких уведомлений. Bluetooth может сканировать маяк в настройках iphone. Но CLlocationManagerDelegate не может получить какое-либо сообщение. Такая ситуация возникла на других разработчиках и устройствах (включая iPhone5c, iPadmini2). - person fvmitnick; 05.04.2014
comment
Когда вы открываете другое приложение на переднем плане для ранжирования iBeacon, показывает ли приложение переднего плана вам ранжированные iBeacon? - person davidgyoung; 05.04.2014
comment
Другое приложение не может отображать информацию о ранжированном IBeacon. Меня пытались удалить все мое собственное приложение и оставить только оценку (приложение), чтобы устранить влияние моего приложения, но оно не обнаружило никакого iBeacon. - person fvmitnick; 06.04.2014
comment
Хорошо, чтобы устранить любые проблемы с программным обеспечением, я бы использовал либо тестовую программу Apple AirLocaste, либо мое приложение Locate for iBeacon. Приложение Estimote использует SDK-оболочку вокруг CoreLocation, поэтому оно может привести к ошибкам/сложностям при устранении неполадок, которых нет в приложениях, использующих необработанное CoreLocation. Если вы не можете определить диапазон с помощью Locate for iBeacon, это означает, что у вас проблема на уровне ОС или проблема с оборудованием. - person davidgyoung; 06.04.2014
comment
Я пытался использовать тестовую программу Airlocate от Apple, но она не видит Beacon. Функции вашего приложения работают нормально на ios7.1? - person fvmitnick; 07.04.2014
comment
Airlocate и Locate для iBeacon эквивалентны. Вы КОГДА-ЛИБО видели iBeacon с Airlocate? Или просто не после того, как телефон некоторое время был включен? - person davidgyoung; 07.04.2014
comment
После перезагрузки телефона какое-то время он может видеть iBeacon с airLocate. Примерно через 5-8 часов Airlocate ничего не видит. - person fvmitnick; 07.04.2014
comment
Итак, похоже, что CoreLocation больше не может видеть iBeacons через некоторое время. Ознакомьтесь с аналогичным вопросом по этой проблеме и посмотрите, сможете ли вы выполнить шаги 2 и 3: stackoverflow.com/a/22919846/1461050< /а> - person davidgyoung; 07.04.2014
comment
Спасибо. Я просканировал устройство в настройках, которое может видеть устройства Bluetooth. Возможно, проблема с ОС, как вы сказали. Такая же проблема также появилась в iphone 5c и ipad mini2 с iOS7.1 (другие устройства не тестировались). - person fvmitnick; 09.04.2014
comment
Перезапуск @davidgyoung тоже не работает. я проверял два дня. получить уведомление с фоном и передним планом, но когда я удаляю приложение из многозадачности. то я не могу получить уведомление даже после перезагрузки - person Sunny Shah; 04.06.2014
comment
@sunny-shah, пожалуйста, откройте новый вопрос с более подробной информацией о том, как вы тестируете, и фрагментом вашего кода, который настраивает мониторинг. - person davidgyoung; 04.06.2014