Like millions of other people, when Apple released iOS 6 on 19 September 2012, I immediately updated my iPhone 4. I was somewhat distressed the next day to receive the 20-percent battery life remaining notification — at 1 PM on a day when I’d done almost nothing with the iPhone!
My iPhone 4’s battery had been slowly getting worse due to age, but back in April I had replaced the battery with a new one from iFixit and battery life had immediately sprung back to normal. Clearly iOS 6 was involved in some way, but troubleshooting anything in iOS is difficult, and something like poor battery life is especially hard, since it can take hours to determine if a fix has worked. I was busy, and decided to ignore the problem briefly, since I knew I’d be switching to the iPhone 5 when it arrived a day later.
When FedEx delivered my iPhone 5 on Friday, I immediately restored my latest iPhone 4 backup to it, but I couldn’t really use it until I could visit the AT&T store on Saturday to transfer my phone number. The iPhone 4’s battery continued to drain quickly — to the point where I had to charge it in the car on the way to the AT&T store so I’d have enough power to use it in the store. As is always the case at the AT&T store in Ithaca, the staff were friendly and helpful (and the guy who helped us said he had received quite a number of calls about iOS 6 causing problems that required restoring, though battery life issues were not among them).
I walked out with a fully functional iPhone 5 whose setup was identical to my previous iPhone 4… including the battery drain. Over the next few days, I watched the battery drop incredibly quickly, sometimes as much as 10 to 20 percent per hour. Some research on the Internet showed that lots of people were experiencing the problem, though it certainly wasn’t ubiquitous.
After reading a variety of discussions, I came across what turned out to be the key clue. When I tapped Settings > General > About > Diagnostics & Usage > Diagnostics & Usage Data, I saw what must have been hundreds of crash logs for a process called webbookmarksd, starting at the point I enabled connectivity for the iPhone 5. This jogged my memory — corrupt Safari bookmarks syncing to iCloud had previously caused problems for my MacBook (see “Solving iCloud-Related Slowdowns in Lion,” 16 February 2012).
The solution in that case was to delete the corrupt Safari bookmarks locally, such that a new version came down from iCloud, and all was well. When I investigated my Safari bookmarks, I discovered they were a total mess. Since I don’t really use Safari, I’d never worried about the fact that the bookmarks had been imported from multiple other systems years ago and horribly duplicated through who knows what syncing services. Despite this, they’d never caused problems in previous versions of iOS.
To jump ahead of myself, the solution once again was to delete corrupt Safari bookmarks, but what’s easy on a Mac is often difficult or even impossible in iOS. I’ll share my unsuccessful intermediate attempts and some other approaches I didn’t think of in time, and if you’re experiencing similar battery life problems, I encourage you to try the less-destructive approaches before taking the eventual tack I did.
Before you get started, make a local backup of your current Safari bookmarks by choosing File > Export Bookmarks in Safari. That creates a simple HTML file containing your bookmarks; you can edit it in any text editor and reimport it into Safari using File > Import Bookmarks if you want.
My first attempt was to delete bookmarks via iCloud, which I accomplished successfully by deleting all the bookmarks from within Safari’s bookmark interface. That worked for Safari on my MacBook Air and my original iPad, still running iOS 5, but Safari on the iPhone 5 wouldn’t relinquish its bookmarks. I tried deleting these bookmarks manually on the iPhone, but Safari either wouldn’t let me delete at all, claiming that bookmarks were being synchronized, or it simply ignored my taps on the Delete button.
Next up, I followed a piece of advice I’d seen to reset all settings and then restart the iPhone. This starts to be destructive, since resetting all settings deletes all sorts of customized settings in iOS and Apple’s built-in apps. You won’t lose any data — pictures, contacts, music, apps, or the like — but you will spend some time getting your iPhone to work as you expect again. To reset your iPhone, tap Settings > General > Reset > Reset All Settings. And to force iOS to start fresh with default settings, restart your iPhone by holding down the Home and Sleep/Wake buttons for at least 10 seconds, until the Apple logo appears. Unfortunately, this made no difference for me — Safari’s bookmarks remained stubbornly fixed in place.
Although it seemed that my iPhone’s bookmarks weren’t updating from iCloud, I thought perhaps disconnecting from iCloud might break them free. So I turned off Safari in Settings > iCloud, and agreed that I wanted to delete the bookmarks from my iPhone. That made no difference, so I next deleted the entire iCloud account, figuring that everything should come back when I reconnected to iCloud later. Still no change — those bookmarks persisted no matter what I tried, and even after deleting the iCloud account, Safari claimed that I couldn’t delete them because they were being synchronized.
At this point, although I was certain that the problem wasn’t related to the battery itself, it was easy enough to let it discharge completely and charge overnight to recalibrate. I was correct — that made no difference, but it was good to eliminate as a possibility.
Before I tell you about the next step I took, let me recommend two more things you could try that I didn’t think of in time. In iTunes, select your iPhone in the sidebar and then scroll down to the bottom of the Info view. Under the Advanced heading, there are several checkboxes that enable you to replace information on the iPhone with data from the Mac. If you have disabled iCloud syncing, it’s possible that you’ll be able to select Sync Safari Bookmarks from the Other section, select Bookmarks in the Advanced section, sync again, and eliminate your corrupt bookmarks that way.
Second, though I can’t vouch for this process personally, Shawn Lebbon outlines a somewhat complicated process to replace the corrupt bookmarks with a clean set in an Apple Support Communities thread. Be sure to read the entire thread, and note that you’ll need the $34.95 iBackupBot to perform the necessary surgery. It’s non-trivial, but it may fix the problem without requiring you to reconfigure from scratch.
Anyway, I was sufficiently frustrated by having to charge the iPhone in the middle of the day just to make it to the evening that I had come to terms with the work associated with starting from scratch. Before that, just for giggles, I used iTunes to restore the iPhone to my most recent backup. As expected, that restored the corrupted bookmarks too, so I steeled myself for the last ditch effort — setting up my iPhone 5 as a new iPhone. To do this, I put my iPhone into Device Firmware Update (DFU) mode rather than use normal recovery mode because DFU mode, as I understand it, restores the firmware as well as iOS.
To put your iPhone into DFU mode, turn the iPhone off by holding down the Sleep/Wake button until you get the Slide to Power Off slider, and slide it. Then connect it to your Mac via USB and press both the Home and Sleep/Wake buttons for exactly 10 seconds. At 10 seconds, release the Sleep/Wake button, but continue to hold down the Home button for another 5 seconds, until iTunes alerts you that it has detected an iPhone in recovery mode. The iPhone screen should be black at this point; if it shows the graphic of a USB cable pointing at the iTunes icon, then you’re in normal recovery mode and won’t get clean firmware.
At that point, when you restore your iPhone, choose Set Up As A New iPhone. When it’s done, your iPhone will look just as it did when you took it out of the box, with factory default settings and just the built-in apps. (I immediately verified that my corrupt bookmarks were gone — finally!) You can then go through the various tabs in iTunes to choose the apps and data you want to sync — I suppose you could also download them from iCloud, though that would probably be slower.
However, before you start setting up your clean iPhone, let me suggest another thing to try, which I didn’t think about when I was doing my setup. On one of the many threads on the Apple Support Communities forums about this problem, Nuje recommended restoring the last backup after doing the clean wipe. That might just bring back the corrupt bookmarks, but for Nuje, the battery draining problem did not return and it wasn’t necessary to spend time rebuilding all the settings. If Nuje’s trick doesn’t work, just wipe the iPhone again.
I’m actually not all that bothered by having to rebuild my settings. It’s a little like forgoing Migration Assistant when setting up a new Mac — it’s way more work, but every now and then it’s nice to get a clean start. I’ve migrated the same settings forward from at least three iPhones at this point, dating back to iPhone OS 3 (before Apple renamed it to iOS), and who knows what digital cruft might have been in there.
The important thing is that my iPhone 5’s battery life is back to normal — after I finished syncing my apps, I drove to meet my running group, playing a podcast in the car for 7 or 8 minutes, leaving the iPhone on standby in the glove compartment for an hour, and then listening to the podcast again on the drive home. And you know what? The battery percentage didn’t drop from 100% the entire time. That’s more what I’ve come to expect from my iPhones.
I only wish it hadn’t taken me four days to work through all the possibilities — I expect better from Apple’s updates, especially on the iPhone, where troubleshooting is so much harder than on the Mac.