This is the only method that worked for me, thought someone would be interested to do the same to preserve their important data. The restore procedure is tested on OS X Mountain Lion 10.8.4. Although the walkthrough is rather lengthy, the whole procedure took me under fifteen minutes with one device. The two iPhones restored with this method are now working beautifully with iOS 6 and at least I'm happy! # Required software (trial versions are sufficient) * iTunes 11.0.4 [http://www.apple.com/itunes/] * Xcode 4.6.3 [http://developer.apple.com/xcode/] (or other software for .plist editing) * Base 2.4.2 [http://menial.co.uk/base/] (or other software for editing SQLite databases) * iPhone Backup Extractor 1.2.4 [http://supercrazyawesome.com] (or other software capable of extracting local iOS backups -- note: only sms.db is needed) * iBackupBot 4.1.7 [http://www.icopybot.com/itunes-backup-manager.htm] (or other software capable of modifying local iOS backups -- note: only deletion and replacing of existing files needed) # Required hardware * Mac with OS X 10.8 and required software installed * iOS 7 device (tested on iPhone 5 and 4S with beta 3) * USB cable to connect your iOS device to your Mac # What will be missing (after a successful restore) * Call History (iOS keeps record of the last 100) * Cellular and Data Usage History (how long you have talked, amount of data transferred) * Safari Browsing History (bookmarks and such will be synced through iCloud) * Mail Accounts (other than iCloud, fairly easily restored manually) * Applications (need to be installed manually, the app data however is transferred -- for example saved games and such, everything is there) Feel free to enhance the restore process to mend these shortcomings (by making extra modifications to the local iOS backup -- it may need some trial and error). # The walkthrough We will go through some detailed steps beginning with the iCloud synchronization and backup of your iOS 7 device. Feel free to skip any steps not concerning your situation. Optional first step: Take screenshots of your Home Screen pages by pressing Home and Power buttons at the same time. This is if you wish to remember which apps were installed on the device (even though all the app data is transferred to iOS 6 from iOS 7, the apps are not installed automatically). 1. Make sure you are taking advantage of the iCloud syncing by going Settings > iCloud and toggling everything on for your iOS 7 device (and merging your device data with those already in iCloud). This is the best restore method especially for contacts and notes. 2. While on the Settings > iCloud menu, toggle off Find My iPhone as the iOS downgrade will not be possible otherwise. 3. While still on the Settings > iCloud menu, go to the Storage & Backup section and toggle on iCloud Backup (if not enabled already), press the Back Up Now button. This will create an iCloud backup of your existing iOS 7 configuration in case anything goes wrong with the local iOS backup restore process for iOS 6 (all you need to do is to install iOS 7 back and use the iCloud restore for your fresh install). 4. When the device is finished backing up to iCloud, you can switch the Settings > Airplane Mode on to keep your backups fresh (to avoid receiving any new messages during the process, for example). 5. Now connect the iOS 7 device to your Mac using an USB cable. Open up iTunes and select your device when it's ready. 6. Make a local backup of the iOS 7 device in iTunes, even when the iCloud backup option is enabled. We will use this local backup to restore most of the iOS content when we have downgraded to iOS 6. If you have multiple local backups, keep note of the current time as it is the most straightforward way to identify the right backup when browsing them (for example in Finder). 7. After the local backup has been finished, open up Finder and go to your Library folder (you can achieve this easily by using Go menu and holding down the Option button. 8. From the Library folder head to Application Support > MobileSync > Backup. In this iTunes local backup folder you can identify the right backup (made in the step 6) by using the Modified Date (View > as List). 9. From your previously made local backup folder edit the Info.plist file. Change the Product Version from 7.0 to 6.1.4 (if your target is iPhone 5 with iOS 6.1.4, for example -- with iPhone 4S it is 6.1.3) and the Build Version to 10B350 (with 4S 10B329). Check the appropriate version and build numbers here [http://www.iclarified.com/entry/index.php?enid=750]. Save the Info.plist file. 10. Now from the same backup folder edit the Manifest.plist file. Change the SystemDomainVersion from 18.0 to 16.0. It may not be necessary, but to play safe, you can also change the ProductVersion and BuildVersion values in the Lockdown subsection to reflect the values entered in the step 9. Save the Manifest.plist file. 11. After editing the plist files, open up iPhone Backup Extractor. Press the Read Backups button. The software will list all the available backups from the iTunes backup folder. Now select the one matching your Device Name and Date (with multiple backups on the same date you may need some trial and error). The software will list all iOS application data found on the backup plus most importantly "iOS Files" which can be found from the end of the list. Don't worry about the application specific data as they will be restored to iOS 6 automatically (even though the applications are not automatically installed, more on this later on). Now select the "iOS Files" option and click the Extract button. Select the extract location you want. 12. Locate the extracted files and browse to Library > SMS. From there open up the sms.db using Base (this is your iOS 7 Messages database). From the tables list select _SqliteDatabaseProperties and click the Data tab. The trick here is to change the _ClientVersion key's value from 7005 to 6100. You may also remove all the keys starting with double _, however this may not be necessary. I ended up doing so as the clean iOS 6.1.4 sms.db did not have those. Save the changes to the database. 13. Now open up iBackupBot and select the appropriate backup from the Backups list. We will import the modified sms.db to the backup by going System Files > HomeDomain > Library > SMS and clicking Import from the top bar. Now browse for the modified sms.db and import it to the backup. The software will ask whether to replace the existing sms.db, approve it. As the sms.db is already in the backup the software doesn't need to modify the Manifest.mbdb file (which is problematic -- not sure if it's even possible to add totally new files at all, at least iBackupBot allows it and modifies Manifest.mbdb). 14. After importing the sms.db file, we will need to delete 5 files from the backup preventing iTunes from restoring the backup to iOS 6. These files are: System Files/HomeDomain/Library/BackBoard/applicationState.plist System Files/HomeDomain/Library/Mail/MailboxCollections.plist System Files/WirelessDomain/Library/Databases/CellularUsage.db System Files/WirelessDomain/Library/Databases/DataUsage.db System Files/WirelessDomain/Library/Databases/UsageAlert.db Note: If iTunes refuses to restore the backup even after deleting these files from the backup (this may be the case with future iOS 7 versions), you can follow the syslog (for example with Console application) for errors during the restore process. The errors usually describe any files which fail the restore process. 15. After modifying the backup, you can close all other software and open up iTunes (make sure to restart it to get the updated backup info). 16. Restore the iOS 7 device to the appropriate iOS 6 version by using ipsw file downloaded from the Apple website [http://www.iclarified.com/entry/index.php?enid=750]. For iPhone 5 I used version 6.1.4 and iPhone 4S 6.1.3. Make a custom restore from iTunes by holding down the Option button while pressing the Restore iPhone... button. From the prompt select the downloaded ipsw file. 17. After the iOS device has been restored to the appropriate iOS 6 version iTunes asks you to Set Up Your Phone. Select the Restore from the Backup of option and browse for the right previously modified backup of iOS 7. After the modifications we have made iTunes will happily allow the restore of the backup to iOS 6 device. Note: iTunes may say your phone needs to be activated which you may do by following the setup procedure on the device. Do not however go beyond the restore option at it is crucial to do it from the iTunes. You may reconnect the USB cable between the iOS device and Mac to get iTunes accept the activation. 18. The restore takes some time to complete and after it's finished the first step is to check your Messages are in place. Of course login and address all the prompts the device may be asking after the restore. 19. After that go to Settings > iCloud and login to your iCloud account. Check that everything is toggled on for iCloud to sync. Don't enable the iCloud backup at this point. 20. By enabling the iCloud synchronization, shared photo streams, contacts, notes, bookmarks and such should become available to your iOS 6 device. 21. As you are on the Settings application, you may as well set up everything else needing login such as iMessages (in Messages) and FaceTime. 22. Set up your mail accounts manually as they were not included in the restore (has to do something with the new MailboxCollections.plist file for iOS 7?). 23. Now the dumb part: you have to install all your applications manually. Refer to your camera roll for Home Screen screenshots from iOS 7 to refresh your memory. After the applications have been installed manually from App Store, they will be on the exact same location on the Home Screen as on iOS 7 and with all the app data available as on iOS 7. So you will not lose your saved games or something more important data. 24. That's that. After the iCloud has synced everything, you can approach the Settings > iCloud > Storage & Backup menu and enable the iOS backups for this iOS 6 device. Make sure everything's OK device wide before pressing the Backup Now button. # Known issue(s) and solution(s) 1. iOS Camera app may crash after every photo you take (and not save the photos to the camera roll). Solution: Use any 3rd party camera app (just once) to take a picture and save it to the camera roll (tested with Camera+).