there is a way to do it manually, using minicom.
** NOTE ** If you use a SIM password, you must deactivate it before doing this!!!
1) SSH to your phone. Do not forget to turn auto-lock off.
2) Stop the CommCenter:
launchctl -w unload /System/Library/LaunchDaemons/com.apple.CommCenter.plist
3) Start minicom: minicom -s
4) Then proceed to change the Serial Port device name to /dev/tty.baseband
- Scroll down to "Serial Port"
- Press "A" and retype over the serial port device name
- Press "ENTER" twice
- Scroll down to EXIT and press ENTER
- Type "AT" and press ENTER. You should get an "OK" back
5) Enter the following commands:
The first command will set the Address Book storage to "Own Number"
The second command will write the number (XXXXXXXXXX) with an optional text "TTTT".
I use my carrier name as the optional text, some use their names. Pick whatever you like.
The third command will display back whatever you have entered, plus the type, either "129" or "145".
It will be "129" if the number fits a "national" pattern and "145" if it's international.
The fourth command will display the "Own Number". This is the way it's queried, so we try to see the result.
I've entered my number using "+CANNNNN", that is +, country code, area code and number:
Ex: +5521XXXXXXXX -> this wil be Brazil (55), Rio de Janeiro(21), and number (XXXXXXXX).
The type returned was 145.
6) Press "Ctrl-A", "Q" and "ENTER" to exit minicom.
7) Reload CommCenter:
launchctl -w load /System/Library/LaunchDaemons/com.apple.CommCenter.plist
8) Reboot your iPhone.
It should now show the "My Number" in Settings->Phone, and also on the iTunes screen (provided that the iPhone is on when it connects to iTunes, so the SIM card is already processed)