web-dev-qa-db-fra.com

Accéder à l'application Paramètres à partir de votre application dans iOS 8?

Est-il possible d'accéder à l'application des paramètres à partir de votre propre application via un bouton ou quoi que ce soit dans iOS 8. J'ai entendu dire qu'il y avait décrépitude dans iOS 5, est-ce vrai? Sinon, la méthode a-t-elle changé dans iOS 8? S'il n'y a pas d'autre moyen de procéder, quelle serait la meilleure façon de contourner ce problème?

33
Ed3121577

Depuis iOS 8, il est possible de transférer un utilisateur de votre application directement dans l'application Paramètres. Ils seront profondément liés à la page Paramètres spécifiques de votre application, mais ils peuvent revenir en arrière dans l'écran Paramètres de niveau supérieur.

Si vous prenez également en charge iOS 7, vous devrez d'abord vérifier si une constante de chaîne spécifique est présente.

MISE À JOUR:

Si votre cible de déploiement est définie sur 8.0 ou supérieur, Xcode 6.3 vous donnera l'avertissement suivant:

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

C'est parce que la fonctionnalité était disponible à partir de la version 8.0, donc ce pointeur ne sera jamais NULL. Si votre cible de déploiement est 8.0+, supprimez simplement l'instruction if ci-dessous.

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

Utilisez UIApplicationOpenSettingsURLString.

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

Dans Swift:

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

Exemple Swift 3:

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