앱이 백그라운드에서 실행 중인지 확인하고 싶습니다.
에:
locationManagerDidUpdateLocation {
if(app is runing in background){
do this
}
}
답변
앱 델리게이트는 상태 전환을 나타내는 콜백을받습니다. 이를 기반으로 추적 할 수 있습니다.
또한 UIApplication 의 applicationState 속성은 현재 상태를 반환합니다.
[[UIApplication sharedApplication] applicationState]
답변
UIApplicationState state = [[UIApplication sharedApplication] applicationState];
if (state == UIApplicationStateBackground || state == UIApplicationStateInactive)
{
//Do checking here.
}
문제를 해결하는 데 도움이 될 수 있습니다.
아래의 주석을 참조하십시오-비활성은 매우 특별한 경우이며 앱이 포 그라운드로 시작되고 있음을 의미 할 수 있습니다. 그것은 당신의 목표에 따라 “배경”을 의미하거나 의미하지 않을 수 있습니다 …
답변
스위프트 3
let state = UIApplication.shared.applicationState
if state == .background {
print("App in Background")
}
답변
스위프트 버전 :
let state = UIApplication.sharedApplication().applicationState
if state == .Background {
print("App in Background")
}
답변
응용 프로그램 상태에 대해 “요청”대신 콜백을 수신하려면 다음 두 가지 방법을 사용하십시오 AppDelegate
.
- (void)applicationDidBecomeActive:(UIApplication *)application {
NSLog(@"app is actvie now");
}
- (void)applicationWillResignActive:(UIApplication *)application {
NSLog(@"app is not actvie now");
}
답변
스위프트 5
let state = UIApplication.shared.applicationState
if state == .background {
print("App in Background")
//MARK: - if you want to perform come action when app in background this will execute
//Handel you code here
}
else if state == .foreground{
//MARK: - if you want to perform come action when app in foreground this will execute
//Handel you code here
}
답변
스위프트 4+
let appstate = UIApplication.shared.applicationState
switch appstate {
case .active:
print("the app is in active state")
case .background:
print("the app is in background state")
case .inactive:
print("the app is in inactive state")
default:
print("the default state")
break
}