verificar se um usuário permite que o aplicativo para usar sua localização
-
19-09-2019 - |
Pergunta
A primeira vez que a tentativas de aplicativos para obter a localização do usuário que for solicitado com "gostaria de usar a sua localização actual" e eles podem bater não permitem ou ok. Existe alguma maneira de descobrir se o usuário atingiu ok ou não permitem? Eu estou tentando ter o MKMapView mostrar a usuários localização atual, mas eu gostaria de tomar ações diferentes com base na seleção usuários.
Normalmente, você pensaria que haveria um delegado para obter essa informação, mas não parece ser.
Agradecemos antecipadamente a sua ajuda.
Solução
A primeira chamada para obter a localização do usuário falhará com um erro que informa o usuário negou serviços de localização. Seu método CLLocationManagerDelegate
didFailWithError
será chamado, como abaixo. (As constantes são definidas em CLError.h
)
- (void)locationManager:(CLLocationManager*)aManager didFailWithError:(NSError*)anError
{
switch([anError code])
{
case kCLErrorLocationUnknown: // location is currently unknown, but CL will keep trying
break;
case kCLErrorDenied: // CL access has been denied (eg, user declined location use)
message = @"Sorry, flook has to know your location in order to work. You'll be able to see some cards but not find them nearby";
break;
case kCLErrorNetwork: // general, network-related error
message = @"Flook can't find you - please check your network connection or that you are not in airplane mode";
}
}