Pergunta

Estou usando uma classe personalizada para atualizar o local do usuário. Ao inicializar a classe, crio um objeto CllocationManager a ser usado pela classe

CLLocationManager *locManager = [[CLLocationManager alloc] init];
[self setLocationManager:locManager];

A linha que retorna um nulo é CllocationManager *LocManager = [[CllocationManager aloc] init]; que é o que causa um problema.

Este código funciona muito bem na maioria das vezes. Mas em um dispositivo específico (OS versão 3.1), o init retorna um nulo. Alguma idéia de por que o CllocationManager retornaria uma NIL na inicialização?

Obrigado.

Foi útil?

Solução

Quando um aplicativo inicialmente inicializa os serviços de localização, o sistema operacional pergunta ao usuário se isso estiver ok. Se eles disserem não, é possível nas corridas subsequentes para obter nulo. Você pode verificar isso e degradar graciosamente os recursos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top