web-dev-qa-db-ja.com

iOS 8でアプリから設定アプリにアクセスしますか?

ボタンやその他のiOS 8のボタンを使用して、独自のアプリから設定アプリにアクセスすることは可能ですか?そうでない場合、iOS 8でメソッドは変更されましたか?これを行う他の方法がない場合、それを回避する最良の方法は何ですか?

33
Ed3121577

IOS 8以降、ユーザーをアプリから直接設定アプリに取り込むことが可能になりました。アプリの特定の設定ページに深くリンクされますが、トップレベルの設定画面に戻ることができます。

IOS 7もサポートしている場合、特定の文字列定数が存在するかどうかを最初に確認する必要があります。

更新:

展開ターゲットが8.0以上に設定されている場合、Xcode 6.3は次の警告を表示します。

Comparison of address of 'UIApplicationOpenSettingsURLString' not equal to a null pointer is always true

これは、8.0から機能が利用可能になったため、このポインターがNULLにならないためです。展開ターゲットが8.0以降の場合、以下のifステートメントを削除してください。

if (&UIApplicationOpenSettingsURLString != NULL) {
    NSURL *appSettings = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
    [[UIApplication sharedApplication] openURL:appSettings];
} 
65
djibouti33

UIApplicationOpenSettingsURLStringを使用します。

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
18
David Beck

Swiftの場合:

if let settingsURL = NSURL(string: UIApplicationOpenSettingsURLString) {
    UIApplication.sharedApplication().openURL(settingsURL)
}
12
NatashaTheRobot

Swift 3の例:

if let url = URL(string: UIApplicationOpenSettingsURLString) {
    UIApplication.shared.openURL(url)
}
2
Daniel Storm