Recently we upgraded our kids’ iPods to iOS 5.1. In doing so our Parental Control passcodes somehow got scrambled and we could no longer install applications. I did not want to erase the iPods and start over, so I hunted around for a solution. There were an assortment of recommendations on this Apple discussion thread. It took a bit of digging, but I worked out a process for resetting the passcode that I documented here. This worked for me, not guarantees beyond that.
Software I downloaded
iBackupBot :: http://www.icopybot.com/itunes-backup-manager.htm
TextWrangler :: http://www.barebones.com/products/TextWrangler/
Take a backup
Now that the software necessary to reset the passcode is installed, collect a backup of the target device in iTunes. This backup will download the current passcode configuration and serve as a base image that will be manipulated then restored to the device, resetting the passcode.
Manipulating the configuration file
Launch iBackupBot and select the device that is currently locked. Select “Library/Preferences/com.apple.springboard.plist” and export the file. The file will appear like this:
Once the file is downloaded, open it in TextWrangler. Several modifications to the configuration can be made, but the first is to add the following key and value to the file (this key was present in previous versions of iOS, but removed in 5, but it can be added back in and it still works):
The string “1234” is now the new parent code. The number of password retries can also be reset at this time. Once the file has been modified, save it, then import it back into the backup.
Restoring the modified backup
The previous step opened an existing backup, extracted the configuration file that contained the passcode, added a new, known passcode, and imported the modified file into the backup. Now this backup can be restored to the device, effectively resetting the passcode. Follow the standard restore routine and the passcode should be reset.
OS Files –> Library –> Preferences
6. In that folder find the file “com.apple.springboard.plist