Как работает CLVisit?

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

One Solution collect form web for “Как работает CLVisit?”

Я думаю, вы неправильно понимаете концепцию CLVisits. На самом деле нет объекта посещения, который нужно создать. Метод делегирования CLLocationManager запускается алгоритмом, который определил яблоко (см. Wwdc lecture для получения дополнительной информации). Это объясняется в документации CLLocationManager …

Получение посещенных мест

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

Чтобы начать доставку событий, связанных с посещением, назначьте делегата объекту менеджера местоположений и вызовите его метод startMonitoringVisits. Поскольку диспетчер местоположений генерирует события посещения, он передает эту информацию в свой менеджер locationManager: didVisit :. Данные о событиях, переданные вашему делегату, включают только информацию, которая произошла после того, как вы начали доставку событий. Другими словами, если вы начнете доставку событий после того, как пользователь прибыл в интересное место, событие, доставленное системой, когда пользователь покинет это место, не отражает фактическое время прибытия. Если система завершает работу вашего приложения, эта служба возобновляет его, когда новые события посещений готовы к доставке.

Тем не менее, если вы посмотрите на эту статью из NSHipster , она ссылается на некоторые текущие проблемы с CLVists (для iOS 8.1). В нем, в основном, говорится, что если вы хотите, чтобы инфраструктура была чрезвычайно точной, не используйте CLVisit. Похоже, вы делаете это правильно (на данный момент, по крайней мере).

CLVisit, как и в iOS 8.1, не все точные. Хотя начальные и конечные времена обычно точны в течение минуты или двух, линии становятся размытыми по краям того, что есть и что не является визитом. Уклонение в угловой кафе в течение минуты может не вызвать визит, но ожидание на очень длинном светофоре может. Вероятно, Apple улучшит качество обнаружения посещения в будущих обновлениях ОС, но на данный момент вы, возможно, захотите остановиться, полагаясь на CLVisit, в пользу вашего собственного обнаружения посещения для случаев использования, когда важно, чтобы ваши данные были настолько точными, насколько это возможно быть.

  • MapKit: MKMapSnapshotter с пользовательским источником плитки
  • Расчет расчетной площади MKPolygon Swift
  • Добавление кнопки в MKPointAnnotation?
  • Как настроить пузырь вызова для MKAnnotationView?
  • MKPolyline привлекает странные реликвии при масштабировании
  • Поддерживает ли MKMapView автономные карты или загрузку автономных карт?
  • Событие переключения MKMapView MKPointAnnotation
  • Ошибка VectorKit / OpenGL в MKMapView с iOS 9
  • Попытка имитировать маршрут в MapView
  • Расположение пользователя Mapkit ViewDidLoad
  • Перемещение юридического ярлыка (MKAttributionLabel)
  • Interesting Posts

    Как изменить цвет оттенка кнопки очистки на UITextField

    Группировать по объекту в массиве

    Лучшие практики: быстрый прокрутка UITableView?

    Storyboard + базовая локализация + .strings файл не локализуется во время выполнения

    Прокручивать жесты в приложении Multiview

    Вставка iOS 8 UITableView: если у вас есть ячейки с пользовательским макетом, у вас, вероятно, тоже будет эта проблема

    TestFlight iOS 8 – Ошибка: для запроса на установку было указано неверное приложение

    Сгенерируйте CGPath из контура ширины линии другого пути

    Объект Object-C Block с завершением кода Xcode

    Перенаправление перехвата NSURLSession не работает

    Google Cloud Endpoints + IOS + Google SignIn Library: не удалось создать мое приложение

    Запись, сохранение и / или конвертирование видео в формате mp4?

    Как я могу ввести пользовательский скрипт в iOS?

    навигационная панель rightbaritem ошибка кнопки изображения iOS 11

    IOS – установка профиля предоставления услуг предприятия или приложения, подписанного корпорацией, требует возврата к Apple?

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.