iOS10でアプリから設定画面に遷移するURLスキームの設定が少し変わったようなのでまとめました。
#設定画面への遷移方法(iOS9まで)
特定のアプリから、設定->Twitterへ画面遷移する際には、
呼び出したい設定画面(今回はTwitter)のURLスキームを下記のように設定します。
if let url = URL(string: "prefs:root=TWITTER") {
UIApplication.shared.openURL(url)
}
iOS9までであれば上記の実装で「設定->Twitter」へ画面遷移することができるのですが、iOS10になり遷移ができなくなっていました。
#対応
URLを設定している”prefs:root=TWITTER”の先頭に「app-」または「App-」を付けることで指定した設定画面へ遷移が可能になります。
prefsの前に「app-」を追加
if let url = URL(string:"app-prefs:root=TWITTER") {
if #available(iOS 10.0, *) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
} else {
UIApplication.shared.openURL(url)
}
}
###URLスキームサンプル
設定 | スキーム |
---|---|
Wi-Fi | App-Prefs:root=WIFI |
Bluetooth | App-Prefs:root=Bluetooth |
モバイルデータ通信 | App-Prefs:root=MOBILE_DATA_SETTINGS_ID |
インターネット通信(テザリング) | App-Prefs:root=INTERNET_TETHERING |
キャリア | App-Prefs:root=Carrier |
通知 | App-Prefs:root=NOTIFICATIONS_ID |
一般 | App-Prefs:root=General |
一般 > 情報 | App-Prefs:root=General&path=About |
一般 > キーボード | App-Prefs:root=General&path=Keyboard |
壁紙 | App-Prefs:root=Wallpaper |
Siri | App-Prefs:root=SIRI |
プライバシー | App-Prefs:root=Privacy |
Safari | App-Prefs:root=SAFARI |
ミュージック | App-Prefs:root=MUSIC |
ミュージック > イコライザ | App-Prefs:root=MUSIC&path=com.apple.Music:EQ |
写真とカメラ | App-Prefs:root=Photos |