Edited at

【iOS10】設定画面に遷移するURLスキームの設定について

More than 1 year has passed since last update.

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