The complete solution for dealing with freezes and crashes is to know not only how to recover from them, but also how to eliminate them in the future. You can’t prevent all freezes and crashes, but you can minimize them by keeping the iPhone and iTunes software updated and by making sure your iPhone has sufficient free space and memory.
Update your iPhone
You should update your iPhone’s software whether you have a specific problem at the moment or not. Updates fix known bugs in existing software and add new features. More specifically to our discussion here, if a bug in Apple’s software causes a recurring problem, the ultimate solution is for Apple to fix it via an update.
By default, iTunes automatically checks for such updates at regular intervals (you can disable this by unchecking “Check for updates automatically” in the General pane of the iTunes Preferences window). You can manually initiate a check at any time by clicking the Check for Update button in an iPhone Summary tab in iTunes.
If a check reveals that an update exists, the Check for Update button changes to Update and a dialog appears, informing you that “a new iPhone software version is available.” From this dialog, you can click either Download Only or Download and Install. If you choose Download Only, another dialog eventually appears that again states that “a new iPhone software version is available” and provides buttons for Install and Don’t Install.
These dialogs have “Do not ask me again” checkboxes. I suggest that you disable those boxes to be sure you are asked about each update before it installs. Of course, your computer still should not install an update without your knowledge, but why take chances? You’re better off having to confirm again, just in case reliable reports on the Web indicate that a given update makes things worse rather than better.
The update file downlo to ~/Library/iTunes/iPhone Software Updates/. For minor updates (such as from 1.0.1 to 1.0.2), the names of these update files typically end in Update.ipsw. However, for more significant updates (such as from 1.0.2 to 1.1.1), iTunes uses the restore file (Restore.ipsw) for both updating and restoring.
Update requires re-activation? After updating your iPhone, you may see an alert that says “Activating iPhone.” In this case, you must be in an area where you can access the AT&T network for the update to complete. If the message persists, try moving to a different location.
If you get an error message: When updating your iPhone, you may receive error messages. If this happens, and the update fails, try doing a restore first. This should get things working again, and it will likely provide the latest version of the iPhone software. However, to be certain that no newer version is needed, and to confirm that all now seems to be working, click Check for Update again after the restore is complete.
Note: A Stealth Update?: When Apple released iLife ’08, they included a new Web Gallery feature, which can receive a photo sent to it from an iPhone. To accomplish this, a “Send to Web Gallery” button appears as an option for a photo on the iPhone, via the Camera or the Photos application.
Surprisingly, this new button appeared a day or so after iLife ’08 was released, without requiring any update to the iPhone software. This led to speculation that the iPhone software was updated, via the EDGE network, without any notification to the user. Apple has never confirmed how it was done, and there are other possible mechanisms that could have accomplished this feat. Still, it’s worth noting that new features may appear on your iPhone without warning.
Update iTunes too
To make sure that syncing and other interactions between iTunes and your iPhone go smoothly, which in turn can prevent your iPhone from crashing and freezing, always update to the latest version of iTunes. iTunes updates contain software specifically relevant to the iPhone (notably the AppleMobileDevice and AppleMobileSync software installed in several locations of the /System/Library—such as the AppleMobileDevice.kext file in /System/Library/Extensions, and the equivalents in Windows).
Provide sufficient “breathing room”
By “breathing room,” I mean two things:
Don’t use up every last whit of drive space: Leave at least 250 MB free at all times. This is because the iPhone needs space to create temporary files. Without sufficient space for these files, a crash may occur. You can tell how much free space remains by checking the usage graph at the bottom of an iPhone’s Summary tab in iTunes.
Don’t overload iPhone’s memory: For example, if you check a mailbox that starts downloading 200 messages to your iPhone and then shift to Safari and start opening several Web pages, you are asking for trouble, likely in the form of a crash.
Check the iPhone’s diagnostic data
Some iPhone problems are specific to a particular version of the device’s software or hardware. As such, it can be useful to know exactly which versions of the various components you have. Even if you can’t directly use this information, it can be valuable to a tech support person (such as an Apple employee at a Genius Bar). Such data is stored in two main locations:
About: Tap the Settings -> General -> About. Here, you’ll find the Version number and Modem Firmware number, which you can compare with the numbers of the most recent updates (as may be listed on Apple’s Web site or other Web sites where such matters are covered) to confirm that you have the latest versions.
The Wi-Fi Address and Bluetooth numbers may also be needed for troubleshooting (as covered later in this book).
Field Test: More esoteric are the “field test” data. To access these, go to the keypad of iPhone’s Phone application and enter: *3001#12345#*
Then tap the Call key. A Field Test screen appears from which you can access such data as Network Information and Cell Information.
The most interesting tidbit here is found if you tap the Versions item. This reveals the LCD Panel ID. If an apparent problem with your display is linked to a specific version of the LCD panel (as determined from information found on the Web or obtained from Apple), this will tell you if you have the problematic panel.