Open App “Packages” on your iPhone

Apple has taken considerable flak for the closed lid it keeps on the iPhone and other iOS devices. Among other things, this means you can’t directly access the iOS’s file directory of files (as you can with a Mac’s directory via the Finder). You can’t access an iPhone’s directory either from the device itself or via a USB-iTunes connection to your Mac.

To be more specific, you can’t get this access via any Apple-supplied software. But Apple will allow you to pry open the lid, within limits, via third-party Mac utilities. My personal favorite of these utilities is PhoneView. While programs such as PhoneView have been around almost since the arrival of the iPhone, Apple has recently loosened the ropes regarding what these utilities can do. Most especially, you now have access to the “inside” of third-party apps installed on your iOS device. This is exciting news. Previously, you would have needed to jailbreak your iOS device to gain such access. I’m not exactly certain when Apple implemented this change, but I believe it was with the release of iOS 4 last year. Whenever they did it, I’m glad they did.

Before we delve into exactly why I believe this is exciting news, let’s recap a few of the helpful things you could do already with these utilities:

• From your Mac, you can access an assortment of your iOS device’s data and media — without the need to sync the data in iTunes. You can view or listen to virtually all of the iTunes- and iPhoto-synced media on the device — from music to videos to voice memos. Similarly, you can can view the notes in your Notes app or the data in your Contacts list.

In some cases, you can access iOS device data that you would otherwise be unable to view/hear on your Mac even with iTunes. Such items include the text and photos of your SMS messages as well as the audio of your voicemail messages.

These items can be copied from an iOS device to a Mac, where you can archive them (and often edit them) if desired.

• Via utilities such as PhoneView, you can use an iOS device as a portable drive, allowing you to copy virtually any type of file from a Mac.

• If your iOS device is jailbroken, you can access the complete root level directory of its drive, including all system software.

You do any of these things on a Mac, even if the Mac is not the one that you normally use for syncing. All it takes is the USB-Dock connector cable.

App “package” access

Now let’s return to the the recently-added big deal. With utilities such as PhoneView, you always had limited access to iOS drive contents (even without jailbreaking). In particular, you could see the area where your personal media are stored. Now you can also peer into the location where third-party apps are installed. From here, you can perform the equivalent to what you do with Mac OS X applications via the Finder’s Show Package Contents command. This access opens the door to two significant capabilities:

Share app documents. Apple insists that all documents associated with an iOS app be contained within that app’s “package.” Thus, when you save an document, the files are stored in a Documents folders contained within each app’s package. The upside of this “sandboxing” is that it sharply reduces the chance that an app could cause problems for any app other than itself. On the downside, there is no central location from which multiple apps can access a single copy of a document. Instead, each app must maintain its own copy of a document. One by-product of this approach has been Apple’s obtuse iTunes-based procedure for file sharing (as I have covered before). 

Although there are some partial work-arounds to overcome this sandbox restriction, such as sharing via Dropbox, it is not nearly as easy as sharing and storing documents on a Mac.

The good news is that, with PhoneView’s ability to go inside app packages, you have complete access to each app’s Documents folder. You can transfer any of the contained documents to your Mac where you can view the files and, if desired, copy them back to any iOS device. Of course, you can do this for any of the apps you would otherwise access via File Sharing in iTunes. But you can also go beyond these apps — to access ones not included in iTunes. For example, I can transfer my Angry Birds high scores from my iPad’s “HD” version of the game to the matching iPhone version (as explained here). I can also copy recordings I made via the Retro Recorder app (which otherwise would require that I transfer my recordings to a Web server and retrieve them via a web browser on my Mac). I was able to locate the videos included in Businessweek issues and copy them to my Mac. Unlike via iTunes File Sharing, you can also delete documents directly from PhoneView.

Starwalk in PhoneView

Extract/Access app data. Your ability to delve into an app’s innards is not limited to its Documents folder. You can also poke around among the rest of an app’s files and folders. You are far less likely to spend time in locations beyond the Documents folders. It’s mostly the domain of developers and troubleshooters. However, these locations offer some, mainly fun, possibilities for the rest of us.

For example, if an app contains any music or graphics of interest, you can extract it. I used this capability to copy over the theme music from games such as Canabalt and Angry Birds. From the Starwalk app, I was able to extract various music themes as well as planet images. Go exploring and you may be surprised at what you discover.

As with Documents folder files, once you’ve copied any other of an app’s files to your Mac, you can typically edit them and, if desired, transfer them back to an iOS device. In this regard, consider checking out an app’s “preferences” (.plist) files. On a Mac, these files are mainly stored in the Library/Preferences folder of your Home directory. For iOS devices, in contrast, each app maintains its .plist files within its own package. Preferences files, on a Mac, are known for their troubleshooting value (often, to fix a problem, you are advised to delete a .plist file). These files are also a source of enabling “secret” features (done via adding or modifying a property value of the .plist file). Such opportunities are much more rare on iOS devices than on a Mac. Still, as I have covered before for the info.plist file (back when you needed to jailbreak to get this access), you may find a few nuggets of interest among the .plist files. [Note: If you do jailbreak your iOS device, there are additional opportunities for usefully editing .plist files, such as to enable video mirroring or to unlock the hidden multitouch gestures option in iOS 4.3.]

One word of caution: With this power, comes responsibility. Deleting an app’s files — or otherwise modifying an app’s package content — can cause problems, including rendering an app un-launchable. If in doubt, don’t do it. Or at least make sure you have a back-up copy of any modified file, so that you can restore it if necessary.