端末設定への導線
iOS ではいままで、アプリから明示的に端末設定(いわゆる「設定」アプリ)へ遷移することは、ある一時期を除いて基本的には許可されていませんでした。
しかし、iOS 8.0からはこれが許可されるようになりました。
具体的には次のコードでアプリから端末設定への遷移(アプリの切り替え)が行えます。
NSURL *URL = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
[[UIApplication sharedApplication] openURL:URL];
例として、CLLocationManager から CLAuthorizationStatus
を取得して、位置情報サービスが許可されていなければ前述のコードにより端末設定まで遷移する、ということが出来ます。
これの良いところは、遷移先がアプリ専用の設定画面だということです。明示的に設定画面を用意していない場合は設定のトップ画面になるそうですが、プライバシー系サービスを利用する場合には自動的に作られるようです。
そこには既に「プライバシー」という項目があるので、iOS 初心者のユーザーであっても端末設定内で迷うこと無く位置情報サービスの項目まで辿り着いてもらうことが可能かと思います。
※もちろん、プライバシーであることに変わりはないので、ユーザーに対してプライバシー情報へのアクセスを無理矢理に許可させるような作りにしてしまうのもあまりよろしくはないのかな、とも思います。
位置情報サービス全体がオフとなっている場合はユーザーに大元の「プライバシー」まで辿っていってもらわなければなりません。
今回は位置情報サービスのみ扱いましたが、表記には「プライバシー」とあるので、その他のプライバシー系情報、例えば「写真」や「連絡先」へのアクセス設定もここにまとめられるのではないかと思います。であれば、同様の方法でアプリから設定への導線を確保することが出来ますね。
追記
UIApplicationOpenSettingsURLString
を使って「設定への遷移」を実装したアプリが無事審査を通過しました。