Ich habe kürzlich das fantastische URL-Schema für benutzerdefinierte iOS5-Einstellungen entdeckt , das auf dieser großartigen Website ausführlich erläutert werden kann .
Ich habe festgestellt, dass dies funktioniert und den Benutzer von meiner Anwendung aus zur App "Einstellungen" geleitet hat:
[[UIApplication sharedApplication] openURL:
[NSURL URLWithString:@"prefs:root=General"]];
Es kann jedoch nicht scheinen, über den Parameter direkt zum Pfad " Einschränkungen" zu routen path
:
[[UIApplication sharedApplication] openURL:
[NSURL URLWithString:@"prefs:root=General&path=Restrictions"]];
Hat jemand eine Dokumentation dazu gefunden oder konnte dies funktionieren?
Jeder Einblick wäre sehr dankbar. Ich versuche, den Benutzer dazu zu bringen, den In-App-Kauf zu aktivieren, und möchte den Benutzer lieber nicht manuell auf Einschränkungen klicken lassen (nicht sehr offensichtlich).
ios
iphone
settings
url-scheme
uiapplication
kturner
quelle
quelle
Antworten:
AS @Nix Wangs ANTWORT DIESES FUNKTIONIERT NICHT IN IOS 10
WARNUNG: Diese Methode funktioniert nicht für Geräte mit iOS 5.1 und höher - siehe Hlung's Kommentar unten.
Es ist möglich, dass die
path
Komponente einen anderen Namen als der eigentliche Abschnitt hat, aber es ist auch möglich, dass Sie derzeit nicht direkt über eine URL auf diesen Abschnitt zugreifen können. Ich habe eine Liste möglicher URLs gefunden und Einschränkungen sind nicht darauf, vielleicht ist sie nur noch nicht herausgefunden worden.Liste der aktuell bekannten URLs in der Einstellungen-App:
quelle
[NSURL URLWithString:UIApplicationOpenSettingsURLString]
Ab iOS8 können Sie die integrierte Einstellungen-App öffnen mit:
Die tatsächliche URL-Zeichenfolge lautet
@"app-settings:"
. Ich habe versucht, verschiedene Abschnitte an die Zeichenfolge anzuhängen ("Bluetooth", "ALLGEMEIN" usw.), aber anscheinend funktioniert nur die Verknüpfung mit dem Hauptbildschirm "Einstellungen". Schreiben Sie eine Antwort, wenn Sie etwas anderes herausfinden.quelle
Wenn Sie Ihrer iOS-App das URL-Schema "Einstellungen" hinzufügen, können Sie alle Schemata verwenden, die wir in iOS 5 verwenden konnten. Ich habe es unter iOS 9 getestet, aber ich denke, es funktioniert auch mit älteren Versionen.
quelle
Aktualisieren:
prefs:
funktioniert NICHT seit iOS 10.quelle
prefs:
nicht mehr funktioniert, funktioniert Folgendes (zumindest in der Eröffnungsrede):App-Prefs::root=Settings&path=General
Ja, habe dies (und viele mehr) gesehen und es sogar in einer Testanwendung implementiert. Ich muss wirklich das endgültige Wort von Apple erhalten, aber die Meinung des Community-Konsenses ist, dass Apple es in 5.1 nicht zugelassen hat, nachdem es öffentlich "entdeckt / veröffentlicht" wurde, sodass Bewerbungen, die es enthalten, nicht akzeptiert werden.
08/01/12 Update: Apple wurde über mein Entwicklerkonto gefragt, ob es eine Möglichkeit gibt, das Dialogfeld "WLAN-Einstellungen" programmgesteuert zu starten. Hier ist die Antwort:
quelle
In iOS 9 funktioniert es wieder!
Um Einstellungen> Allgemein> Tastatur zu öffnen , verwende ich:
Darüber hinaus ist es möglich, weiter zu Tastaturen zu gehen :
quelle
LSApplicationQueriesSchemes
ininfo.plist
?Ich wollte das Bluetooth-Menü in der Einstellungsanwendung öffnen und der obige Pfad (Einstellungen: root = Allgemein & Pfad = Bluetooth) funktionierte bei mir nicht. Was am Ende für mich gearbeitet hat, war
Stellen Sie sicher, dass Sie zuerst das
prefs
URL-Schema definiert haben.quelle
prefs
Zeug vergessen .Lösung für iOS10. Funktioniert gut.
quelle
Ab iOS10 können Sie verwenden
um allgemeine Einstellungen zu öffnen.
Sie können auch bekannte URLs hinzufügen (Sie können sie in der am besten bewerteten Antwort sehen), um bestimmte Einstellungen zu öffnen. Zum Beispiel öffnet die folgende TouchID und den Passcode.
quelle
App-Prefs
ist eine private API, die während der Überprüfung zur Ablehnung der App führt.Hier ist noch etwas, was ich gefunden habe:
Nachdem ich das URL-Schema "prefs" definiert habe, funktioniert "prefs: root = Safari & path = ContentBlockers" in Simulator (iOS 9.1 Englisch ), aber nicht in Simulator (vereinfachtes Chinesisch) . Es springt nur zu Safari, aber nicht zu Content Blockern. Wenn Ihre App international ist, seien Sie vorsichtig.
Update: Ich weiß nicht warum, jetzt kann ich nicht mehr in ContentBlocker springen, der gleiche Code, die gleiche Version, funktioniert jetzt nicht mehr. :(
Auf echten Geräten (meins ist iPhone 6S & iPad mini 2) sollte "Safari" "SAFARI" sein , "Safari" funktioniert nicht auf einem echten Gerät, "SAFARI" funktioniert jetzt auf einem Simulator:
Bisher wurden keine Unterschiede zwischen iPhone und iPad festgestellt.
quelle
Funktioniert gut für App-Benachrichtigungseinstellungen unter IOS 10 (getestet)
quelle
iOS 10
Verwenden
app-prefs:
Siehe Kern
quelle
Ich aktualisiere hier eine Nachricht. Die Verwendung von "Prefs:" wird von Apple NICHT abgelehnt. Ich habe es getestet und im App Store genehmigt (im August 2016). Vielen Dank.
quelle
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=DO_NOT_DISTURB"]];
für offene DND-Einstellung des Geräts. Apple wird dies ablehnen?