Solution to iPhone 1.1.1 not keeping non-AT&T carriers’ APN
Update 20071025 17:15 If you are having problem getting the APN setting appear after a reboot even after changing the UnknownCarrier.plist file, try this: Edit the UnknownCarrier.plist file as shown below, and then go into Settings > General > Network > EDGE and enter the appropriate info for APN. I found out that i had to do this after i restored my iPhone again.
Update 20071021 10:02 For Windows/Linux users, the UnknownCarrier.plist file is just an ordinary xml file. You can edit it with your favorite text editor.
Update 20071020 10:00 The previously mentioned easier method has been reported not to be working for some.
Update 20071020 16:25 There appears to be another easier solution. According to RpR at the Dev Team forum, just install Services.app, run it, switch off EDGE and then switch on EDGE again. Select Other and enter the APN server. This should update the plist file.
After upgrading to iPhone firmware 1.1.1, i noticed that after a reboot or power off/on of my iPhone, i would lose the APN server setting for T-Mobile.
So i posted a question on iPhone Dev Team’s forum and almost immediate i got a reply. The suggestion was to edit the following plist file on iPhone:
However, i realized that this file is just a symbolic link to:
So i transferred the UnknownCarrier.plist file and edited it using Property List Editor (if you double-click on the file, it will open up Property List Editor automatically). I updated the value for “apn”, as shown in the highlighted screenshot below:
After that, i transferred the edited file back to my iPhone. To test, i rebooted the phone and voila, the APN server setting is still there!