There is a way to install and activate the most recent BETA firmware without registering the device’s UDID as a developer.
What you’ll need:
- iTunes 8.2
- iPhoneOS 3.0 BETA firmware file
- iUtilities or DiskAid
- QuickPwn for the specific firmware version
- maybe the carrier-specific features file
Steps
- Install iTunes 8.2
- Maybe make a backup of your iPhone
- Hold Shift and click the Restore button (MAC users: try holding ⌥ while clicking)
- Select the iPhone OS 3.0 firmware file
- Wait until the firmware is installed (~15min)
- Your iPhone will need activation after bootup, but since your UDID isn’t registered at Apple, iTunes will deny the activation
- the trick is to make iTunes think, there’s a 2.2.1 firmware on your phone which it will activate without any problems
- Jailbreak the phone using QuickPwn (make sure, the Activate* option is unchecked!!)
- now use iUtilities or DiskAid:
- iUtilities: Click the String Editor tab and find the section System Version
- enter 2.2.1 into the first box and 5H11 into the second one
- click Go
- DiskAid: Open DiskAid, set the starting node to Root in the bottom left
- navigate to
/System/Libraries/Core Services
and find the fileSystemVersion.plist
- open this file (or copy to PC and open there) with an editor (e.g. notepad.exe)
- change the ProductBuildVersion to 5H11 and change the ProductVersion to 2.2.1. Make sure that ReleaseType is Public
- save the file (or drag from PC back into DiskAid)
- navigate to
- iUtilities: Click the String Editor tab and find the section System Version
- reboot your iPhone (hold Home and Power until the slider appears)
- launch iTunes and it will activate your iPhone
- now you might revert the changes made by iUtilities or DiskAid, see the table below:
Device | Version | Build | Note |
---|---|---|---|
3G | 2.2.1 | 5H11 | |
3G | 3.0 | 7A238j | BETA 1 |
3G | 3.0 | 7A259g | BETA 2 |
3G | 3.0 | 7A280f | BETA 3 |
3G | 3.0 | 7A300g | BETA 4 |
3G | 3.0 | 7A312g | BETA 5 |
3G | 3.0 | 7A341 | Final / Gold Master |
3G | 3.1 | 7C97d | BETA 1 |
3G | 3.1 | 7C106c | BETA 2 |
3G | 3.1 | 7C116a | BETA 3 |
SystemVersion.plist
In case you didn’t make a backup copy, the file looks like this:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ProductBuildVersion</key>
<string>7A312g</string>
<key>ProductCopyright</key>
<string>1983-2009 Apple Inc.</string>
<key>ProductName</key>
<string>iPhone OS</string>
<key>ProductVersion</key>
<string>3.0</string>
<key>ReleaseType</key>
<string>Beta</string>
</dict>
</plist>