Determine o país associado ao ID da Apple logado no dispositivo iOS
-
12-12-2019 - |
Pergunta
Eu tenho um determinado cenário no meu aplicativo em que algum conteúdo (proveniente do serviço) precisa ser exibido com base no local ou digamos país do usuário.
Há duas / três maneiras que eu descobri pelo qual eu poderia realizar isso, mas eles têm algumas desvantagens como mencionado abaixo.
1) usando nslocale
nslocale * locale= [NSLocale CurrentLocale];
NSString * CountryCode= [Locale ObjectForkey: NSLocalecountCode];
Desvantagem: pode ser alterado pelo usuário, isso é configurável da configuração-> Geral -> Internacional-> Formato de Região
2) usando o local central
Determine a latitude e a longitude (clllocationManager & Clllocation). Da latitude e longitude determinam o país usando
Desvantagem: se o usuário não permitir que os serviços de localização do núcleo não possam encontrar Lat & Long, novamente dependente do usuário.
Aqui estão as minhas perguntas
1) Eu gostaria de saber se há uma API disponível na Apple que me ajuda a saber o ID da Apple através do qual minha inscrição foi comprada e transformar o país para a qual este ID da Apple pertence?
2) Este pode ser altamente impossível considerando o ambiente seguro da Apple, mas ainda assim ... é possível obter o país associado ao cartão de crédito (se associado) contra um ID da Apple?
aguardando resposta.
Obrigado a todos.
Solução
As respostas para ambas as perguntas não são (por boas razões).A Apple não fornece acesso programático ao ID da Apple do proprietário do dispositivo.E certamente não há informações associadas ao cartão de crédito.Eu iria perguntar à permissão do usuário para obter a sua localização e explicar por que seu aplicativo precisa (no iOS 6 você pode fornecer um contexto para o que a localização é solicitada).
Outras dicas
Você pode acessar dados sobre o cartão SIM do dispositivo usando CTTelephonyNetworkInfo.Claro que funciona apenas se o usuário tiver um cartão SIM.E é de valor duvidoso, já que a maioria das pessoas tem permissão para viajar para a maioria dos lugares na terra.