Dieser Code funktioniert gut für iOS 10.0 bis 10.3.3 aber wenn ich diesen Code für iOS 11 (Beta) ausführen, geht die Anwendung in den Hintergrund, aber Einstellungsseite wird nicht geöffnet.Wie öffne ich Location Services von der iOS-Anwendung für iOS 11 beta?
Antwort
Sie sollten überprüfen, ob iOS die URL, die Sie anrufen möchten, öffnen kann. Sie können dies mit if([UIApplication sharedApplication] canOpenURL:URL]]){...}
tun. Wenn iOS 11 das nicht kann, fügen Sie eine else
-Anweisung hinzu, um nach iOS 11 zu suchen und eine neue Lösung zu entwickeln.
Das bedeutet, dass Ihre URL in iOS 11 nicht funktioniert, so müssen Sie einen anderen Weg finden. In einer anderen SO-Frage habe ich festgestellt, dass Sie die App Einstellungen mit '[[UIApplication sharedApplication] openURL öffnen können: [NSURL URLWithString: UIApplicationOpenSettingsURLString]];'. [link] (https://stackoverflow.com/questions/5655674/opening-the-settings-app-from-another-app) – jbehrens94
NSURL * URL = [NSURL URLWithString: @ "App-Einstellungen: root = Datenschutz & Pfad = LOCATION "]; if ([[UIApplication sharedApplication] canOpenURL: URL]) {NSLog (@ "kann geöffnet werden"); } else {NSLog (@ "kann nicht geöffnet werden"); } Zurückgeben "kann öffnen". Die App navigiert nicht zur Einstellung. –
Sie lesen nicht, was ich sage: Sie müssen '[NSURL URLWithString: @" App-Prefs: root = Datenschutz & Pfad = LOCATION "] mit einer anderen Lösung ersetzen, weil es offensichtlich nicht mehr funktioniert. Was das richtige NSURL ist, weiß ich nicht, du musst es rückentwickeln. – jbehrens94
hinzufügen URL-Schema in Info.plist
, durch
Ausbau-> Targets-> Info-> URL Typen-> hinzufügen
Geben Sie Prefs unter URL Schemes
zu gehen.
dann mit dem Code:
NSURL *URL = [NSURL URLWithString:@"App-Prefs:root=Privacy&path=LOCATION"];
[[UIApplication sharedApplication] openURL:URL options:@{} completionHandler:nil];
Es ist für mich 9 Beta Xcode arbeitete 4 (iOS 11 beta).
Hoffe es hilft!
Ich habe bereits "Prefs unter URL Schemes" hinzugefügt. es funktioniert gut für unter 1OS 10.3.3. Code, den Sie vorschlagen, ist NSURL * URL = [NSURL URLWithString: @ "App-Einstellungen: root = Datenschutz & Pfad = LOCATION"]; [[UIApplication sharedApplication] openURL: URL-Optionen: @ {} completionHandler: nil]; Ich habe gerade überprüft, über die Lösung, die mir das gleiche Problem. Die Anwendung wechselt in den Hintergrund und der Startbildschirm des iPhone erscheint. –
Dies funktionierte für mich auf dem letzten iOS 11. – Todd
Anwendung geht in den Hintergrund, aber Einstellungsseite wird nicht geöffnet.
Es war Absturz von Settings.app. Ab iOS 11 Beta 7 wurde der Absturz behoben. Aber es kann immer noch nicht den spezifischen Pfad mit Schema wie @ "App-Prefs: root = Datenschutz & Pfad = LOCATION" öffnen.
Ich habe versucht, in den de-kompilierten Code von Settings.app zu graben (was eigentlich Preferences.app ist). Scheint so, als ob es immer noch die obigen Schemata benutzt, die wir zu verwenden versuchten, da ich die Schemazeichenfolgen in der gleichen Form in den entkompilierten Codes gefunden habe.
Und es könnte eine Art von Berechtigungssteuerung in SpringBoard hinzugefügt werden, um Manager, welcher Prozess bestimmten Pfad in den Einstellungen ordnungsgemäß öffnen kann.
Wie auch immer, jetzt in iOS 11 I nur
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
Einstellungen öffnen können.
Ich hoffe, es wird in iOS 11 stabil gelöst werden. –
@ShrikantPhadke Es könnte nicht. Laut dem Launchers-Entwickler [blog] (https://cromulentlabs.wordpress.com/2017/08/22/on-upcoming-changes-ini-ios-11/) hat Apple diese "private" Funktion absichtlich für Dritte deaktiviert Entwickler. – phoenixxyang
Alle Hinweise deuten auf einen iOS Bug oder eine Änderung hin, über die die Entwickler nicht informiert wurden. Es ist Beta 10 und das funktioniert immer noch nicht. Beste Ratschläge, senden Sie einen Fehlerbericht an Apple.
- 1. Store Services Absturz für IOS 11
- 2. Wie öffne ich Einstellungen Dialog und Unterabschnitte iOS 11
- 3. Location Access Request in iOS 11
- 4. iOS 11 Beta - NSURLErrorDomain - Code: 18446744073709550617
- 5. iOS 11 Beta 2/Xcode Beta 3 AutoLayout Problem
- 6. iOS 6 und Location Services funktioniert nicht
- 7. iOS 11 Beta 4 presentRenderbuffer Absturz
- 8. Über "SLComposeViewController" in iOS 11 Beta
- 9. Arcore + Location Services
- 10. Verwenden von Geolocation.watchPosition() in mobilen Safari mit Location Services
- 11. android check location services aktiviert mit play services location api
- 12. showsUserLocation mit deaktivierten Location Services
- 13. Wie öffne ich iOS-System-Apps von der HTML-Website?
- 14. iOS Location Services Methode zum Filtern ungültiger/ungenauer Standorte
- 15. Seriöse geo-ip location Services
- 16. iOS 11 Beta - Replay Kit - funktioniert nicht richtig
- 17. ios 11 Beta 5 Auswahl Dropdown-Liste Problem
- 18. UISearchController.hidesNavigationBarDuringPresentation ignoriert mit scopeButtons in iOS 11 Beta
- 19. Kann nicht Hintergrund Location Update auf iOS 11
- 20. Wie ist der iOS Beta-Zeitplan?
- 21. UIBarButtonitems auf dem iPad nicht anklickbar auf iOS 11 Beta 10 (Xcode 9 beta)
- 22. Wie öffne ich eine Datei in iOS?
- 23. Mit iOS Location Manager arbeiten
- 24. Wie aktualisiere ich den iOS-Simulator auf die neueste Betaversion von iOS 11?
- 25. centralManagerDidUpdateState gibt die Stromversorgung aus iOS 11-Beta 4
- 26. URL für Einstellungen> Datenschutz> Standortdienste in iOS 11+?
- 27. Nativescript location services aktualisiert mein Dashboard nicht
- 28. Wie kann ich Apps für iOS 11 vor der offiziellen Veröffentlichung einreichen?
- 29. Wie öffne ich die Einstellung der Anwendung auf IOS?
- 30. navigationbar setTitleVerticalPositionAdjustment (_: für :) Verfahren funktioniert nicht für Titelbilder auf 11 iOS Beta
"Anwendung geht in den Hintergrund" Sie meinen, App stürzt ab? –
Überprüfen Sie meine Antwort –
App stürzt nicht ab und ich habe Ihre Antwort überprüft.Bitte finden Sie den Kommentar –