33
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Background App Refreshについて

Last updated at Posted at 2013-11-28

iOS7からアプリのバックグラウンド実行可否をユーザが設定、選択できるようになった。つまり、お行儀の悪いアプリはユーザの意思でバックグラウンド実行を止められるということ。なお、 バックグラウンド実行 と書いているが、Appleの日本語表記では Appのバックグラウンド更新 が正しいらしい。

設定状態はUIApplicationのbackgroundRefreshStatusプロパティから取得できる。このプロパティは UIBackgroundRefreshStatus の値を持ち、次の3項目がある。

  • UIBackgroundRefreshStatusAvailable バックグラウンド更新は可能
  • UIBackgroundRefreshStatusDenied バックグラウンド更新は不可能(ユーザが禁止している)
  • UIBackgroundRefreshStatusRestricted バックグランド更新は禁止されている(デバイス設定により禁止されており、ユーザは有効化出来ない)

条件分岐するとすればこんなかんじ。

UIApplication *app = [UIApplication sharedApplication];

if (app.backgroundRefreshStatus == UIBackgroundRefreshStatusAvailable) {
    NSLog(@"バックグラウンド更新が可能");
} else if(app.backgroundRefreshStatus == UIBackgroundRefreshStatusDenied) {
    NSLog(@"バックグラウンド更新はユーザによって禁止されている。");
} else if(app.backgroundRefreshStatus == UIBackgroundRefreshStatusRestricted) {
    NSLog(@"デバイス設定により無効にされている(ユーザが有効にすることは出来ない)。");
}

参考

33
30
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
33
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?