iPhone - CllocationManager init retorna nil
-
19-09-2019 - |
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.
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.