アプリがバックグラウンドで実行されているかどうかを確認したい。
の:
locationManagerDidUpdateLocation {
if(app is runing in background){
do this
}
}
アプリがバックグラウンドで実行されているかどうかを確認したい。
の:
locationManagerDidUpdateLocation {
if(app is runing in background){
do this
}
}
UIApplicationState state = [[UIApplication sharedApplication] applicationState];
if (state == UIApplicationStateBackground || state == UIApplicationStateInactive)
{
//Do checking here.
}
これは、問題の解決に役立つ場合があります。
以下のコメントを参照してください-非アクティブはかなり特殊なケースであり、アプリがフォアグラウンドで起動されていることを意味する場合があります。それはあなたの目標に応じてあなたにとって「背景」を意味するかもしれないし、意味しないかもしれません...
迅速なバージョン:
let state = UIApplication.shared.applicationState
if state == .Background {
print("App in Background")
}
アプリケーションの状態について「尋ねる」のではなく、コールバックを受け取りたい場合は、次の 2 つのメソッドを で使用しますAppDelegate
。
- (void)applicationDidBecomeActive:(UIApplication *)application {
NSLog(@"app is actvie now");
}
- (void)applicationWillResignActive:(UIApplication *)application {
NSLog(@"app is not actvie now");
}