iOS: у меня вопрос не в том, что другие спрашивают о фоновом треке в режиме уничтожения - PullRequest
1 голос
/ 04 июля 2019

Как я видел во многих постах, связанных с этим вопросом, это фоновое обновление местоположения для сервера через вызов API после приложения в режиме уничтожения / завершения.

Существует смешанный ответ по этому поводу, некоторые разработчики говорят, что это возможно, а кто-тоговорит, что это возможно.

Я просмотрел много ссылок, а также проекты github, но не работал в режиме Kill / Termination.

https://github.com/voyage11/GettingLocationWhenSuspended

Как вызвать API в режиме прекращения / уничтожения в iOS

http://mobileoop.com/getting-location-updates-for-ios-7-and-8-when-the-app-is-killedterminatedsuspended

Как получать фоновое обновление местоположения каждые n минут в моем приложении iOS?

непрерывный вызов API IOS

https://github.com/paleksandrs/APScheduledLocationManager

Как получать фоновое обновление местоположения каждые n минут в приложении iOS?

Периодические обновления фонового местоположения iOS

Даже в Apple говорят, что это невозможно.

https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/LocationAwarenessPG/CoreLocation/CoreLocation.html#//apple_ref/doc/uid/TP40009497-CH2-SW1

Может ли кто-нибудь иметь сильную точку в этом.

1 Ответ

0 голосов
/ 08 июля 2019

Основная причина скептицизма по этому вопросу состоит в том, как его задают.Я также некоторое время работаю над отслеживанием местоположения в домене iOS, поэтому я дам вам 4 балла , чтобы подумать и затем продолжить ваше исследование.

В основном люди спрашивают в контекстеAndroid, где у вас есть возможность запустить службу 24x7 и запускать GPS, когда ваша логика определяет, есть некоторое движение / движение, специфичное для n случаев использования.

Первый , 24x7 делаетне существует в iOS.Нет концепции сервиса, который будет жить на устройстве без взаимодействия с пользователем навсегда.У Apple есть некоторые строгие правила, которые будут еще строже в iOS 13, которая выйдет в сентябре 2019 года, когда Apple удалит разрешение «Всегда разрешать» для приложений на основе местоположения, когда вы попросите его.

Второй , проверьте ваши требования.Если вам нужно отслеживать местоположение пользователя во время сна ИЛИ за рулем ИЛИ есть.Есть причина, почему я ставлю акцент на ИЛИ .Сначала вы должны распространить и классифицировать ваш вариант использования.Если вы просто спросите, вам нужно местоположение в режиме «убит», вы, вероятно, окажетесь хорошими в одном случае использования и потерпите неудачу в другом.Например, приложение, которое обнаруживает движение пользователя в транспортном средстве, может использовать Geofence для получения обновлений, когда пользователь нарушает эту геозону.В этом случае вы как-то спросите / спрогнозируете ежедневную рутину пользователя и добавите геозону, вероятно, ночью, около его / ее дома.Таким образом, не используется батарея и ресурсы во время простоя.Утром, когда пользователь начнет движение в автомобиле, геозона будет нарушена, и ваше приложение получит обновление.Оттуда, начните регулярные обновления местоположения и продолжайте, пока ваш алгоритм.обнаруживает, что поездка завершена.Все это возможно с помощью фоновой возможности приложения.Если вы не знаете, что это такое, выполните поиск, и вы сможете найти свой вариант использования.

Третий , даже с указанным выше вариантом использования Apple закроет ваше приложение, как только движение замедлится.вниз, и ваше приложение не выполняет никаких операций на основе алгоритма LRU (The Least Недавно Использованный).Поэтому мудро выберите, какие «Фоновые возможности» , ваше приложение может и будет поддерживать.

Четвертое , вы даже хотите, чтобы ваше приложение было в магазине приложений?Если нет, то есть другие случаи использования, когда люди добились успеха, используя прокси или частные API, так что ищите соответственно.Я сам никогда не использовал ни одного из них, поэтому не могу многое предложить.

...