5

Mam problemy z żądaniem usługi lokalizacyjnej dla mojej aplikacji na iPhone'a. Jeśli użytkownik mówi "Nie zezwalaj", utknąłem w mojej "ta aplikacja potrzebuje usług lokalizacyjnych, aby pracować" ...Ponowne włączanie usług lokalizacyjnych dla aplikacji iPhone'a

Wszystkie próby ponownego ubiegania się o usługi lokalizacyjne były bezowocne, co Stosy tutaj mogą świadczyć o.

Potem przeczytałem, że jedynym sposobem, aby ponownie włączyć usługi lokalizacji było przekierować użytkownika do ustawień serwisowych za pomocą tej lokalizacji:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]]; 

Ale nawet to nie wydają się działać (iPhone 4 i 4S, zarówno na 5.1)

Czy naprawdę nie ma innego sposobu, z wyjątkiem mówienia użytkownikowi, aby przejść do preferencji, a następnie prowadząc go przez? Wydaje mi się, że jest to dla mnie bardzo nieporęczne.

+0

Korzystanie z przekierowań do prefiksów: zostało usunięte w systemie iOS 5.1. Ale Apple nigdy oficjalnie tego nie popierał, więc i tak było trochę hackowania. –

+0

Tak, przeczytałem także http://www.alexcurylo.com/blog/2011/11/04/settings-urls/ ... ale nie mogę uwierzyć, że zostawili taki ślepy zaułek w flow ... –

Odpowiedz

2

Jeśli użytkownik wyłączył usługę lokalizacyjną, nie ma innego sposobu, aby poinformować użytkownika o ponownym włączeniu.

Możesz spróbować przekierować, ale jest to możliwe tylko w systemie iOS 5.0. Możesz więc zrobić to tak:

NSURL *prefsURL = [NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]; 

if ([[UIApplication sharedApplication] canOpenURL:prefsURL]) { 
    [[UIApplication sharedApplication] openURL:prefsURL]; 
} else { 
    // Can't redirect user to settings, display alert view 
    UIAlertView *alertView = .... 

} 
+0

Wpis na blogu dodany przez @Nils Munch (http://www.alexcurylo.com/blog/2011/11/04/settings-urls/) mówi, że ludzie odrzucili aplikacje do korzystania z tej funkcji, więc Nie polecałbym tego .. –

+1

To prawda, muszę mieć aplikacje w sklepie, które korzystają z powyższego. Aktualizacja może jednak zostać odrzucona, jeśli nadal będzie zawierała tę aktualizację. – rckoenes

+0

Smutne, ale prawdziwe ... –