Приложения, которые постоянно информируют пользователей об их местонахождении и в фоновом режиме в iOS?

Я хочу, чтобы мое приложение работало постоянно. Я установил местоположение в фоновом режиме в info.plist. И я также добавляю beginBackgroundTaskWithExpirationHandler в класс UIApplication. Это позволяет моему приложению работать в фоновом режиме максимум 45–120 минут.

Любое предложение?


person Sumitava Datta    schedule 19.08.2016    source источник
comment
Вы звонили startUpdatingLocation? Вам не нужно начинать фоновую задачу. Если у вас всегда есть разрешение на местоположение, тогда ваш делегат местоположения будет вызываться каждый раз, когда будет определено новое местоположение.   -  person Paulw11    schedule 19.08.2016
comment
да. Я вызвал startUpdatingLocation, и он каждый раз вызывает делегата. но через 45-120 минут приложение приостановлено. Когда мы откроем приложение, оно откроется с самого начала.   -  person Sumitava Datta    schedule 19.08.2016
comment
Вы установили для pausesLocationUpdatesAutomatically значение false? Что вы делаете в didUpdateLocations методе делегата?   -  person Paulw11    schedule 19.08.2016
comment
Нет, я не устанавливаю для pausesLocationUpdatesAutomatically значение false. В didUpdateLocations мы сохранили местоположение в массиве.   -  person Sumitava Datta    schedule 19.08.2016
comment
Попробуйте установить для этого свойства значение false   -  person Paulw11    schedule 19.08.2016
comment
В порядке. Я добавлю и дам знать.   -  person Sumitava Datta    schedule 19.08.2016
comment
@SumitavaDatta Удалось ли вам решить эту проблему?   -  person Premal Khetani    schedule 06.08.2018
comment
Нет, не решено ...   -  person Sumitava Datta    schedule 10.08.2018


Ответы (1)


Для задач, для реализации которых требуется больше времени, необходимо запросить определенные разрешения, чтобы запускать их в фоновом режиме без их приостановки. В iOS только определенные типы приложений могут работать в фоновом режиме:

Приложения, которые воспроизводят звуковой контент для пользователя в фоновом режиме, например приложение для музыкального проигрывателя. Приложения, которые записывают аудиоконтент в фоновом режиме. Приложения, которые постоянно информируют пользователей об их местонахождении, например приложение для навигации. Приложения Интернет-протокола (VoIP), которым необходимо регулярно загружать и обрабатывать новый контент. Приложения, которые регулярно получают обновления от внешних аксессуаров. Приложения, реализующие эти службы, должны декларировать службы, которые они поддерживают, и использовать системные структуры для реализации соответствующих аспектов этих служб. Объявление служб позволяет системе узнать, какие службы вы используете, но в некоторых случаях именно системные фреймворки фактически предотвращают приостановку вашего приложения.

Вы можете найти несколько предложений здесь

person Marco Santarossa    schedule 19.08.2016
comment
Спасибо за ответ. Я уже проверял раздел «Обновления местоположения в фоновом режиме» в разделе «Возможности». - person Sumitava Datta; 19.08.2016