¿Hay alguna forma de obtener un número de teléfono propio mediante API estándar del iPhone SDK?
ios
iphone
phone-number
Vadim
fuente
fuente
Respuestas:
A riesgo de obtener calificaciones negativas, quiero sugerir que la solución de más alto rango (actualmente la primera respuesta) viola el último Acuerdo SDK a partir del 5 de noviembre de 2009. Nuestra solicitud fue rechazada por usarla. Aquí está la respuesta de Apple:
Esto fue una verdadera decepción ya que queríamos evitar que el usuario tuviera que ingresar su propio número de teléfono.
fuente
No, no hay una forma legal y confiable de hacer esto.
Si encuentra una manera, se desactivará en el futuro, como ha sucedido con todos los métodos anteriores.
fuente
Actualización: la capacidad parece haber sido eliminada por Apple en iOS 4 o alrededor
Solo para ampliar una respuesta anterior, algo como esto lo hace por mí:
Nota : Esto recupera el "Número de teléfono" que se ingresó durante la activación de iTunes del iPhone y puede ser un valor nulo o incorrecto. Es NO leen en la tarjeta SIM.
Al menos eso hace en 2.1. Hay un par de otras claves interesantes en NSUserDefaults que también pueden no durar. (Esto está en mi aplicación que usa un UIWebView)
y así.
No estoy seguro de qué, si acaso, hacen los demás.
fuente
Con Private API puede obtener el número de teléfono del usuario de la siguiente manera:
También incluya CoreTelephony.framework a su proyecto.
fuente
Como probablemente ya sepa, si usa la siguiente línea de código, Apple rechazará su aplicación
aquí hay una referencia
http://ayeapi.blogspot.com/2009/12/sbformatphonenumber-is-lie.html
puedes usar la siguiente información en su lugar
y así
¡Espero que esto ayude!
fuente
[UIDevice identifierForVendor]
lugar.No puede usar las API de iOS solo para capturar el número de teléfono (incluso en una aplicación privada con API privadas), ya que todos los métodos conocidos para hacerlo se han parcheado y bloqueado a partir de iOS 11. Incluso si se encuentra un nuevo exploit, Apple ha hecho claro que rechazarán cualquier aplicación de la tienda de aplicaciones por usar API privadas para hacer esto. Ver la respuesta de @ Dylan para más detalles.
Sin embargo, hay una forma legal de capturar el número de teléfono sin ninguna entrada de datos del usuario . Esto es similar a lo que hace Snapchat, pero más fácil, ya que no requiere que el usuario escriba su propio número de teléfono.
La idea es que la aplicación envíe un mensaje SMS mediante programación a un servidor con el código de instalación único de la aplicación. Luego, la aplicación puede consultar el mismo servidor para ver si ha recibido recientemente un mensaje SMS de un dispositivo con este código único de instalación de la aplicación. Si es así, puede leer el número de teléfono que lo envió. Aquí hay un video de demostración que muestra el proceso. Como puede ver, ¡funciona de maravilla!
Esto no es muy fácil de configurar, pero se configurará en unas pocas horas sin cargo en un nivel de AWS gratuito con el código de muestra proporcionado en el tutorial aquí .
fuente
Para obtener su número de teléfono, puede leer un archivo plist. No funcionará en iDevices sin jailbreak:
No sé si Apple lo permite, pero funciona en iPhones.
fuente
No hay API oficial para hacerlo. Usando API privada puedes usar el siguiente método:
Funciona en iOS 6 sin JB y firma especial.
Como mencionó creker en iOS 7 con JB , debe usar los derechos para que funcione.
Cómo hacerlo con los derechos que puede encontrar aquí: iOS 7: ¿Cómo obtener un número propio a través de una API privada?
fuente
AppStore lo rechazará, ya que está llegando fuera del contenedor de la aplicación.
Sección 2.5.2: https://developer.apple.com/app-store/review/guidelines/#software-requirements
fuente