NSString *phoneNumber = [[NSUserDefaults standardUserDefaults] objectForKey:@”SBFormattedPhoneNumber”];
NSLog(@”Your phone number is %@”, phoneNumber);
Check these two links:
http://www.alexcurylo.com/blog/2008/11/15/snippet-phone-number/
http://stackoverflow.com/questions/193182/programmatically-get-own-phone-number-in-iphone-os
Blogged with the Flock Browser

February 3, 2009 at 5:46 pm
This does not work in my app, the SBFormattedPhoneNumber key is not present in the standardUserDefaults dictionary. I only see following keys:
TVOutStatus,
AppleICUForce24HourTime,
NSInterfaceStyle,
AppleLocale,
AppleKeyboards,
NSLanguages,
AppleKeyboardsExpanded,
AppleLanguages
February 23, 2009 at 2:01 am
Not work in 2.2.1.
March 26, 2009 at 5:01 pm
This only works on a real iPhone device, not in the simulator. You can code your app to handle the missing value and return a dummy value for debugging and testing. I’ve verified this in all released versions of the iPhone OS.
June 25, 2009 at 4:04 pm
Well I does not seem to work on OS 3.0. I tested it on my device. Has anyone managed to get this on 3.0?
November 12, 2009 at 10:51 pm
This number is only there on a large percentage of iPhones, for others it is not there.
It is set in the settings.app for those of you who don’t have it set on your particular device and you want it to be.
You may face rejection from apple if they catch you doing this.