Я хочу проверить, работает ли приложение в фоновом режиме.
В:
locationManagerDidUpdateLocation {
if(app is runing in background){
do this
}
}
Я хочу проверить, работает ли приложение в фоновом режиме.
В:
locationManagerDidUpdateLocation {
if(app is runing in background){
do this
}
}
locationManager:didUpdateToLocation:fromLocation:
методе?Ответы:
Делегат приложения получает обратные вызовы, указывающие переходы состояний. Вы можете отслеживать это на основе этого.
Также свойство applicationState в UIApplication возвращает текущее состояние.
источник
[[UIApplication sharedApplication] applicationState] != UIApplicationStateActive
лучше, так как UIApplicationStateInactive почти эквивалентен фоновому изображению ...Это может помочь вам в решении вашей проблемы.
См. Комментарий ниже - неактивный является довольно частным случаем и может означать, что приложение находится в процессе запуска на передний план. Это может или не может означать «фон» для вас в зависимости от вашей цели ...
источник
Swift 3
источник
Swift версия:
источник
Если вы предпочитаете получать обратные вызовы вместо «спрашивать» о состоянии приложения, используйте эти два метода в вашем
AppDelegate
:источник
Свифт 5
источник
Свифт 4+
источник
Расширение Swift 4.0 для облегчения доступа к нему:
Чтобы получить доступ из вашего приложения:
Если вы ищете информацию о различных состояниях (
active
,inactive
иbackground
), можно найти в документации компании Apple здесь .источник