寝ても覚めてもこんぴうた

プログラム書いたり、ネットワーク設計したり、サーバ構築したり、車いじったり、ゲームしたり。そんなひとにわたしはなりたい。 投げ銭は kyash_id : chidakiyo マデ

Background App Refreshについて(for iOS 9.2 on swift)

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 バックグランド更新は禁止されている(デバイス設定により禁止されており、ユーザは有効化出来ない)

という感じですね。