[Swift3]iPhoneの「設定」を開く

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る
Swift

カメラロール使用、ミュージックライブラリ使用などの許可がされていないため、iPhoneの「設定」にて許可を促したいケースがある。

本記事では、起動中のアプリから直接iPhoneの設定アプリを開く方法を紹介する。

今回想定するケース

前回作成したカメラロールから写真を選択するアプリでは、ユーザーがカメラロール使用の許可をしていないと写真の選択を行うことができない。
そのため、カメラロールを使用するタイミングで許可がされていない場合に設定アプリを開く処理を仕込む。

ちなみに前回作ったアプリのソースは以下の通りだ。

実装する

カメラロール使用の許可状態を取得する

これはカメラロールの利用が許可されているか調べるの記事で紹介した方法を流用する。

ちなみにisSourceTypeAvailableで調べているのは物理的に利用可能かどうかで、許可されているかではない。

設定アプリを開く

取得した許可状態により、設定アプリを開く処理を実行する。処理自体はUIApplicationOpenSettingsURLStringの文字列をUIApplication.shared.open()で開くだけだが、今回はアラートで設定アプリを開くかどうかの確認を追加している。

実行してみる

あらかじめ、許可を外した状態で実行した。

完成したソース

注意点

ソース内でも記載しているが、アプリ固有の設定項目がない状態で設定アプリを開こうとすると、設定アプリがクラッシュしてしまう。他ブログの記事では問題ないと書いているが…

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

SNSでもご購読できます。