Mike Mazurek
Mike Mazurek

Reputation:

Getting the local iPhone number through SDK

I am looking for a SDK API to retrieve the device's local phone number
from the SIM card. Is there a way to do it?

Upvotes: 0

Views: 15831

Answers (4)

Adrian
Adrian

Reputation:

Take a look at this blog post here.

NSString *num = [[NSUserDefaults standardUserDefaults] stringForKey:@”SBFormattedPhoneNumber”]; NSLog(@”Phone Number: %@”, num);

Adrian

Upvotes: 1

Mak
Mak

Reputation: 46

CFShow([[NSUserDefaults standardUserDefaults] objectForKey:@"SBFormattedPhoneNumber"]); 

NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Preferences/.GlobalPreferences.plist"];  
NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:path];  
CFShow(dict); 

Upvotes: 0

Fabio Ricci
Fabio Ricci

Reputation: 31

This method refers to the number stored in iTunes at time of activation... so, don't use it. From 4.x you can take advantage from CoreTelephony framework to get many information about the network, but still no number...

Upvotes: 1

Tom Harrington
Tom Harrington

Reputation: 70966

There's no reliable way. You'll find code online that tells you to look up SBFormattedPhoneNumber, and sometimes that works, but not consistently. Mostly it's people who brought their phone number over from another cell carrier. In those cases, you get a phone number, but not one for the current phone, and not one that's guaranteed to be valid for anything at all (it may not even be unique).

I have no basis for saying whether this is a few people or a lot, but it's an undocumented key that's inherently unreliable.

Upvotes: 1

Related Questions