「Appのバックグラウンド更新」の設定をObjective-Cから判断する
iOSから追加された「Appのバックグラウンド更新」の設定について、
許可されてるかをObjective-Cから判断する方法について調べました。
今ジオフェンスを使ったアプリを作っているのですが、
「Appのバックグラウンド更新」がOFFだとうまく動作しないみたい。
判定方法について書いてる記事探したけど、
「OFFにすると電源長持ちするよー」って記事ばっかw
以下が判定用プログラムソース
//「Appのバックグラウンド更新」の設定値を取得 UIBackgroundRefreshStatus status = [UIApplication sharedApplication].backgroundRefreshStatus; //判定処理 switch (status) { case UIBackgroundRefreshStatusAvailable: //Appの自動更新がON NSLog(@"%@",@"利用できる"); break; case UIBackgroundRefreshStatusDenied: //Appの自動更新がOFF もしくは、ONだがこのアプリはOFF NSLog(@"%@",@"拒否された"); break; case UIBackgroundRefreshStatusRestricted: //ペアレンタルコントロール時に入るかも NSLog(@"%@",@"制限"); break; default: //どんなケースで入るのか不明 NSLog(@"%@",@"どれでもない"); break; }
公式ドキュメント見た感じだと、
backgroundRefreshStatusってプロパティはiOS7以降から利用可能みたい。
UIApplication Class Reference