As far as my understanding, there is no public API available in iPhone SDK to find the users mobile number.
Can we find the mobile number of iPhone user using the C
Yes, you can, but it's tricky. It involves using iOS private API, which will determine Apple to reject your app in case you want to post it on the App Store.
Here's what I did:
in the command line go to this folder: /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/System/Library/Frameworks/CoreTelephony.framework and perform the following command:
class-dump CoreTelephony > CoreTelephony.h
This will create a header file in the current directory. Move this file in the desired directory.
at the end of the CoreTelephony.h file, add the following:
extern NSString *CTSettingCopyMyPhoneNumber();
in case you have linking errors, use the following linking flags in the build settings of your project target:
-force_flat_namespace
-undefined suppress
(Xcode 4: click on the project target -> Build Settings tab -> Linking -> double-click on the values section of the Other Linker Flags property -> + -> add flags above -> Done