IOS - обновления местоположения не препятствуют прекращению работы моего приложения - PullRequest
0 голосов
/ 19 октября 2018

Я разрабатываю приложение ios для частной компании, приложение должно работать постоянно, чтобы отслеживать местоположение пользователя и загружать его на сервер.

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

настройки местоположения, используемые в приложении:

locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation
locationManager.requestAlwaysAuthorization()
locationManager.allowsBackgroundLocationUpdates = true
locationManager.pausesLocationUpdatesAutomatically = false
locationManager.showsBackgroundLocationIndicator = true
  • мы запускаем startLocationupdates только тогда, когда приложение запускается

, поэтому естькакие-либо настройки отсутствуют или у нас есть настройки на устройстве, чтобы приложение работало все время, если пользователь сам не закрылся?и может ли какая-либо помощь помочь в разработке iOS Developer Enterprise Program?спасибо,

1 Ответ

0 голосов
/ 19 октября 2018

Это нормальное поведение.Тот факт, что у вас есть фоновый режим, не означает, что приложение будет работать вечно в фоновом режиме.Это означает следующее:

Когда система запускает ваше приложение, используйте словарь опций запуска, переданный в приложение (: willFinishLaunchingWithOptions :) и в приложение (: didFinishLaunchingWithOptions :) методычтобы определить, было ли запущено ваше приложение для обработки обновления местоположения.Этот словарь содержит ключ местоположения при запуске приложения из-за служб определения местоположения.Создайте новый объект CLLocationManager, настройте его с делегатом и снова запустите службы определения местоположения, чтобы получить обновление.

Наличие сертификата распространения может помочь, поскольку может использовать некоторые преимущества частного API (вы нев случае дистрибуции Enterprise необходимо пройти проверку Apple.Но вы всегда должны помнить, что закрытый API может привести к неожиданной головной боли.

Я считаю, что внимательное прочтение Фоновое выполнение и Обработка событий местоположения в фоновом режиме документация предоставит вам лучшее решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...