Existe-t-il un moyen d'obtenir son propre numéro de téléphone via les API standard à partir du SDK iPhone?
ios
iphone
phone-number
Vadim
la source
la source
Réponses:
Au risque d'obtenir des notes négatives, je veux suggérer que la solution la mieux classée (actuellement la première réponse) viole le dernier accord SDK en date du 5 novembre 2009. Notre application vient d'être rejetée pour son utilisation. Voici la réponse d'Apple:
Ce fut une vraie déception car nous voulions éviter à l'utilisateur d'avoir à entrer son propre numéro de téléphone.
la source
Non, il n'y a aucun moyen légal et fiable de le faire.
Si vous trouvez un moyen, il sera désactivé à l'avenir, comme cela s'est déjà produit avec toutes les méthodes auparavant.
la source
Mise à jour: la capacité semble avoir été supprimée par Apple sur ou autour d'iOS 4
Juste pour développer une réponse antérieure, quelque chose comme ça le fait pour moi:
Remarque : Cela récupère le «numéro de téléphone» qui a été entré lors de l'activation iTunes de l'iPhone et peut être nul ou une valeur incorrecte. Il n'est PAS lu depuis la carte SIM.
Du moins, c'est le cas en 2.1. Il existe quelques autres clés intéressantes dans NSUserDefaults qui peuvent également ne pas durer. (C'est dans mon application qui utilise un UIWebView)
etc.
Je ne sais pas trop ce que les autres font.
la source
En utilisant l'API privée, vous pouvez obtenir le numéro de téléphone de l'utilisateur de la manière suivante:
Incluez également CoreTelephony.framework à votre projet.
la source
Comme vous le savez probablement tous si vous utilisez la ligne de code suivante, votre application sera rejetée par Apple
voici une référence
http://ayeapi.blogspot.com/2009/12/sbformatphonenumber-is-lie.html
vous pouvez utiliser les informations suivantes à la place
etc
J'espère que cela t'aides!
la source
[UIDevice identifierForVendor]
place.Vous ne pouvez pas utiliser les API iOS seules pour capturer le numéro de téléphone (même dans une application privée avec des API privées), car toutes les méthodes connues de le faire ont été corrigées et bloquées à partir d'iOS 11. Même si un nouvel exploit est trouvé, Apple a fait clair qu'ils rejetteront toutes les applications de l'App Store pour utiliser des API privées pour ce faire. Voir la réponse de @ Dylan pour plus de détails.
Cependant, il existe un moyen légal de capturer le numéro de téléphone sans aucune saisie de données utilisateur . Ceci est similaire à ce que fait Snapchat, mais plus facile, car il ne nécessite pas que l'utilisateur saisisse son propre numéro de téléphone.
L'idée est que l'application envoie par SMS un message SMS à un serveur avec le code d'installation unique de l'application. L'application peut alors interroger le même serveur pour voir s'il a récemment reçu un message SMS d'un appareil avec ce code d'installation d'application unique. Si c'est le cas, il peut lire le numéro de téléphone qui l'a envoyé. Voici une vidéo de démonstration montrant le processus. Comme vous pouvez le voir, cela fonctionne comme un charme!
Ce n'est pas super facile à installer, mais il peut être configuré en quelques heures sans frais sur un niveau AWS gratuit avec l'exemple de code fourni dans le didacticiel ici .
la source
Pour obtenir votre numéro de téléphone, vous pouvez lire un fichier plist. Cela ne fonctionnera pas sur les iDevices non jailbreakés:
Je ne sais pas si Apple autorise cela, mais cela fonctionne sur les iPhones.
la source
Aucune API officielle pour le faire. En utilisant une API privée, vous pouvez utiliser la méthode suivante:
Il fonctionne sur iOS 6 sans JB et signature spéciale.
Comme mentionné creker sur iOS 7 avec JB, vous devez utiliser des droits pour le faire fonctionner.
Comment le faire avec des droits que vous pouvez trouver ici: iOS 7: Comment obtenir son propre numéro via une API privée?
la source
AppStore le rejettera, car il atteint l'extérieur du conteneur d'application.
Section 2.5.2: https://developer.apple.com/app-store/review/guidelines/#software-requirements
la source