バックグラウンドモードまたはフォアグラウンドである場合、アプリケーションの状態を知る方法はありますか。ありがとう
[UIApplication sharedApplication].applicationState
は、次のようなアプリケーションの現在の状態を返します。
または、通知を使用してアクセスする場合は、 IApplicationDidBecomeActiveNotification を参照してください
Swift 3 +
let state = UIApplication.shared.applicationState
if state == .background || state == .inactive {
// background
} else if state == .active {
// foreground
}
switch UIApplication.shared.applicationState {
case .background, .inactive:
// background
case .active:
// foreground
default:
break
}
目的C
UIApplicationState state = [[UIApplication sharedApplication] applicationState];
if (state == UIApplicationStateBackground || state == UIApplicationStateInactive) {
// background
} else if (state == UIApplicationStateActive) {
// foreground
}
Swift
let state: UIApplicationState = UIApplication.shared.applicationState
if state == .background {
// background
}
else if state == .active {
// foreground
}
Swift 4
let state = UIApplication.shared.applicationState
if state == .background {
print("App in Background")
}else if state == .active {
print("App in Foreground or Active")
}
誰かがSwift 3.0でそれを望んでいる場合
switch application.applicationState {
case .active:
//app is currently active, can update badges count here
break
case .inactive:
//app is transitioning from background to foreground (user taps notification), do what you need when user taps here
break
case .background:
//app is in background, if content-available key of your notification is set to 1, poll to your backend to retrieve data and update your interface here
break
default:
break
}
Swift 4の場合
switch UIApplication.shared.applicationState {
case .active:
//app is currently active, can update badges count here
break
case .inactive:
//app is transitioning from background to foreground (user taps notification), do what you need when user taps here
break
case .background:
//app is in background, if content-available key of your notification is set to 1, poll to your backend to retrieve data and update your interface here
break
default:
break
}
アプリケーションがバックグラウンドで入るとき、またはフォアグラウンドで入るときにブール値を追加できます。 Appデリゲートを使用して、この情報を取得します。
Appleのドキュメントによれば、アプリケーションのmainWindowプロパティまたはアプリのアクティブステータスプロパティを使用することもできます。
ディスカッションアプリのストーリーボードまたはnibファイルの読み込みがまだ完了していない場合、このプロパティの値はnilです。また、アプリが非アクティブまたは非表示の場合はゼロになる場合があります。