QiitaのBackground App Refreshについてという記事を参考にさせていただいてコードを書いていたのですが、iOS 9.2(Xcode 7.2)でswiftで記述していた所、思うように動かなかったのでメモ。
それぞれの状態を分岐して取得するコードはこんな感じ
let app:UIApplication = UIApplication.sharedApplication() if(app.backgroundRefreshStatus == UIBackgroundRefreshStatus.Available){ print("バックグラウンド更新が可能") } else if (app.backgroundRefreshStatus == UIBackgroundRefreshStatus.Denied){ print("バックグラウンド更新はユーザによって禁止されている") } else if (app.backgroundRefreshStatus == UIBackgroundRefreshStatus.Restricted){ print("デバイス設定により無効にされている(ユーザが有効にすることはできない)") }
変数が UIBackgroundRefreshStatus
の値に変わっている点が大きく違うかと。
swift良くわかってないのでそんな雰囲気。
- UIBackgroundRefreshStatus.Available バックグラウンド更新は可能
- UIBackgroundRefreshStatus.Denied バックグラウンド更新は不可能(ユーザが禁止している)
- UIBackgroundRefreshStatus.Restricted バックグランド更新は禁止されている(デバイス設定により禁止されており、ユーザは有効化出来ない)
という感じですね。