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.

Foi útil?

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";
    }
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top