Jak mogę sprawdzić, czy użytkownik wyłączył Usługi lokalizacyjne?Jak sprawdzić, czy usługi lokalizacyjne są włączone, czy nie?
Dzięki temu mogę poprosić go o włączenie go, aby móc korzystać z mojej aplikacji.
Dziękujemy!
Jak mogę sprawdzić, czy użytkownik wyłączył Usługi lokalizacyjne?Jak sprawdzić, czy usługi lokalizacyjne są włączone, czy nie?
Dzięki temu mogę poprosić go o włączenie go, aby móc korzystać z mojej aplikacji.
Dziękujemy!
CLLocationManager
zapewnia metody klasy do określenia dostępności usług Lokalizacja:
- (BOOL)locationServicesEnabled (for < iOS 4.0)
+ (BOOL)locationServicesEnabled (for iOS 4.0 and greater)
+ (CLAuthorizationStatus)authorizationStatus (for iOS 4.2+)
(i inni, patrz dokumentacja)
Ta nieruchomość jest tym czego szukałem! Dziękuję Ci! =) – nosuic
uważaj, że 'authorizationStatus' wymaga iOS4.2 + i' + (BOOL) locationServicesEnabled' wymaga iOS4.0 ... A dla poprzednich wersji iOS jest to '- (BOOL) locationServicesEnabled' ... –
Jeśli twoja aplikacja absolutnie nie może być uruchomiona bez Usług lokalizacji, możesz ustawić Usługi lokalizacji jako warunek instalacji/uruchomienia aplikacji przy użyciu Info.plist aplikacji. Robisz to, dodając klucz UIDeviceCapabilities do listy Info.plist aplikacji i nadając mu odpowiednią wartość "location-services" minus cytaty.
Po skonfigurowaniu tej opcji, jeśli usługi lokalizacyjne są wyłączone lub urządzenie znajduje się w trybie samolotowym, lub gdy jakiekolwiek inne działanie uniemożliwia korzystanie z usług lokalizacyjnych na urządzeniu, system iOS wyświetla monit o włączenie w Usługach lokalizacji po otwarciu aplikacji.
EDYCJA: Krótkie eksperymenty zdają się wskazywać, że system iOS nie monituje użytkownika w takich okolicznościach, więc nie byłoby to dobre rozwiązanie dla Ciebie.
Aby uzyskać więcej informacji, zobacz sekcję Najważniejsze informacje o liście właściwości w dokumentacji programisty firmy Apple.
Dziękuję bardzo za informacje! – nosuic
Użyj poniższego kawałek kodu ...
if (![CLLocationManager locationServicesEnabled]) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Location Service Disabled"
message:@"To re-enable, please go to Settings and turn on Location Service for this app."
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
[alert release];
}
Użyj następującego kodu, który będzie działał nawet w iOS 8.
if([CLLocationManager locationServicesEnabled]&&
[CLLocationManager authorizationStatus] != kCLAuthorizationStatusDenied)
{
//...Location service is enabled
}
else
{
//...Location service is disabled
}
należy zadać to na http://apple.stackexchange.com/ może być tam dostaniesz odpowiedź szybko. –