Je suis à la recherche d'une API SDK pour récupérer le numéro de téléphone local de l'appareil
depuis la carte SIM. Y a-t-il un moyen de le faire?Obtenir le numéro d'iPhone local via SDK
Répondre
Il n'y a aucun moyen fiable. Vous trouverez le code en ligne qui vous indique de rechercher SBFormattedPhoneNumber, et parfois cela fonctionne, mais pas de manière cohérente. Généralement, ce sont les gens qui ont apporté leur numéro de téléphone d'un autre transporteur cellulaire. Dans ces cas, vous obtenez un numéro de téléphone, mais pas un pour le téléphone actuel, et pas un qui soit garanti pour quelque chose du tout (il peut même ne pas être unique).
Je n'ai aucune raison de dire s'il s'agit de quelques personnes ou beaucoup, mais c'est une clé non documentée qui est intrinsèquement peu fiable.
Jetez un oeil à cet article de blog here.
NSString *num = [[NSUserDefaults standardUserDefaults] stringForKey:@”SBFormattedPhoneNumber”]; NSLog(@”Phone Number: %@”, num);
Adrian
Cette méthode fait référence au numéro enregistré dans iTunes au moment de l'activation ... alors, ne l'utilisez pas. A partir de la version 4.x, vous pouvez tirer parti du framework CoreTelephony pour obtenir de nombreuses informations sur le réseau, mais toujours pas de numéro ...
CFShow([[NSUserDefaults standardUserDefaults] objectForKey:@"SBFormattedPhoneNumber"]);
NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Preferences/.GlobalPreferences.plist"];
NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:path];
CFShow(dict);