Existe alguma maneira de obter seu próprio número de telefone pelas APIs padrão do iPhone SDK?
ios
iphone
phone-number
Vadim
fonte
fonte
Respostas:
Correndo o risco de obter notas negativas, quero sugerir que a solução de classificação mais alta (atualmente a primeira resposta) viola o mais recente contrato do SDK em 5 de novembro de 2009. Nosso aplicativo foi rejeitado por usá-lo. Aqui está a resposta da Apple:
Foi uma decepção real, pois queríamos poupar o usuário de inserir seu próprio número de telefone.
fonte
Não, não há uma maneira legal e confiável de fazer isso.
Se você encontrar uma maneira, ela será desativada no futuro, como aconteceu com todos os métodos anteriores.
fonte
Atualização: o recurso parece ter sido removido pela Apple no iOS 4 ou próximo dele
Apenas para expandir uma resposta anterior, algo assim faz isso por mim:
Nota : Isso recupera o "Número de telefone" digitado durante a ativação do iTunes no iPhone e pode ser nulo ou um valor incorreto. NÃO é lido no cartão SIM.
Pelo menos isso acontece em 2.1. Existem algumas outras chaves interessantes no NSUserDefaults que também podem não durar. (Isso está no meu aplicativo que usa um UIWebView)
e assim por diante.
Não tenho certeza do que os outros fazem.
fonte
Usando a API privada, você pode obter o número de telefone do usuário da seguinte maneira:
Inclua também CoreTelephony.framework no seu projeto.
fonte
Como você provavelmente já sabe se usa a seguinte linha de código, seu aplicativo será rejeitado pela Apple
aqui está uma referência
http://ayeapi.blogspot.com/2009/12/sbformatphonenumber-is-lie.html
você pode usar as seguintes informações
e assim por diante
Espero que isto ajude!
fonte
[UIDevice identifierForVendor]
vez disso.Você não pode usar APIs do iOS sozinho para capturar o número de telefone (mesmo em um aplicativo privado com APIs privadas), pois todos os métodos conhecidos para fazer isso foram corrigidos e bloqueados no iOS 11. Mesmo que uma nova exploração seja encontrada, a Apple fez claro que eles rejeitarão qualquer aplicativo da loja de aplicativos por usar APIs privadas para fazer isso. Veja a resposta de @ Dylan para obter detalhes.
No entanto, existe uma maneira legal de capturar o número de telefone sem nenhuma entrada de dados do usuário . Isso é semelhante ao que o Snapchat faz, mas é mais fácil, pois não exige que o usuário digite seu próprio número de telefone.
A idéia é fazer com que o aplicativo envie programaticamente uma mensagem SMS para um servidor com o código de instalação exclusivo do aplicativo. O aplicativo pode consultar o mesmo servidor para ver se recebeu recentemente uma mensagem SMS de um dispositivo com este código de instalação de aplicativo exclusivo. Se tiver, pode ler o número de telefone que o enviou. Aqui está um vídeo de demonstração mostrando o processo. Como você pode ver, funciona como um encanto!
Isso não é muito fácil de configurar, mas deve ser configurado em poucas horas, sem nenhum custo, em uma camada gratuita da AWS com o código de exemplo fornecido no tutorial aqui .
fonte
Para obter seu número de telefone, você pode ler um arquivo plist. Não funcionará em iDevices sem jailbreak:
Não sei se a Apple permite isso, mas funciona em iPhones.
fonte
Nenhuma API oficial para fazer isso. Usando a API privada, você pode usar o seguinte método:
Funciona no iOS 6 sem JB e assinatura especial.
Como mencionado creker no iOS 7 com JB, você precisa usar direitos para fazê-lo funcionar.
Como fazer isso com os direitos que você pode encontrar aqui: iOS 7: Como obter seu próprio número via API privada?
fonte
O AppStore o rejeitará, pois está chegando fora do contêiner do aplicativo.
Seção 2.5.2: https://developer.apple.com/app-store/review/guidelines/#software-requirements
fonte