iOS File Sharing Unleashed!

When Apple introduced iOS 5 and iCloud at the WWDC last June, it promised to “cut the cord” that bound iOS devices to the Mac. This led me to ponder all the ways in which my iOS devices are tied to my Mac — and how likely Apple’s upgrades would really permit me to sever all ties.

I wound up focusing on file sharing — the moving of files (such as text documents, graphics and PDFs) among apps and across devices. Currently, Apple’s officially supported method for such file sharing is via iTunes, a still-clunky procedure that I first described back in 2010. Although the addition of Dropbox greases the wheels significantly, iOS file sharing is still far from a smooth ride.

With the forthcoming iCloud, Apple has significantly upped the ante: “When you change a document on any device, iCloud automatically pushes the changes to all your devices. Apple’s Pages, Numbers and Keynote apps already take advantage of iCloud Storage.” Third party apps that add support for iCloud Storage APIs will work similarly. For transferring documents among apps on the same device, there is the existing “Open In…” command.

Is all of this enough? Or will there still be places where you will need to connect your iPad to your Mac for file sharing? Aside from the obvious cases of apps that don’t support iCloud or Open In…, there is an “under-the-hood” matter that regularly crops up for me: accessing the contents of app packages on iOS devices. Doing this allows for an assortment of neat tricks, such as moving a high score file from Angry Birds on one iOS device (such as your iPad) to another (such as your iPhone).

Currently, the best way to gain access to app package contents is via one of several Mac utilities. I use PhoneView. However, PhoneView requires that I physically connect my iOS device to my Mac.

Is there a way to cut the cord for iOS app package access and transfers? The answer is a resounding yes! And you can do it right now, gaining capabilities you won’t have even after the arrival of iCloud and iOS 5. The one caveat (and it’s a significant one) is that you will have to jailbreak your iOS devices.

Phoneview Screenshot

Phoneview on a Mac, showing access to entire disk on a connected jailbroken iOS device

On the up side, this method will allow you to transfer any file, even system files, from any location on an iOS device to any other location on any of your iOS devices. The key to this magic is a Finder-like jailbreak app called iFile. It’s much more user-friendly than any sort of Terminal app. The latest versions of iFile include Dropbox support — the final piece in the puzzle that allows all of this to happen.

To show you how this works, I present here a step-by-step guide for transferring an Angry Birds high scores file from the iPad to the iPhone version of the game — without any need for an intervening Mac. The cord has been completely cut! These steps assume you have already jailbroken both your iPad and your iPhone and have iFile installed on both iOS devices.

On the iPad

1. Launch iFile. If you haven’t already done so, link iFile to your Dropbox account via iFile’s Preferences menu. While you’re here, turn on Application Names; this will make it easier for you to locate the Angry Birds app when you seek it out later.

iFile Prefs

iFile’s Preferences menu

2. Tap the Applications item in the left column of iFile’s main display. Scroll the right column to locate the relevant Angry Birds app.

The Angry Birds Package

The Angry Birds package, as viewed from iFile

3. Tap the Documents folder. Locate the highscores.lua file. 

The arrow points to the Angry Birds high score file, highscores.lua

4. Tap the Edit button in the upper right corner. Next, tap to select the highscores.lua file.

The highscores.lua file

The highscores.lua file is selected

Note: You can batch select files here. As one example, you might also want to select the settings.lua file (where Golden Eggs achievements are stored).

5. Tap the clipboard icon in the lower right corner. From the menu choices, tap Copy/Link.

iFile's Clipboard

iFile’s Clipboard menu

6. Tap the Dropbox item in the left column. Next, tap the Clipboard icon again to bring up the Paste command. Tap Paste. The highscores.lua file is copied to your Dropbox. Tap Done to exit Edit mode. The iPad half of the transfer is now complete.

Dropbox Contents

Dropbox contents, including the highscores.lua file, as viewed from iFile

On the iPhone

In this next series of steps, you’ll move the highscores.lua file from Dropbox to the Angry Birds app package on the iPhone. Start out by repeating Step 1 of the iPad instructions. Then…

1. Tap the “multiscreen” icon in iFile’s lower right corner.

The arrow points to the “multiscreen” icon

The arrow points to the “multiscreen” icon

2. From the screen that appears, tap the + icon in the lower left corner to bring up the Open… options. Select Dropbox.

After tapping the + icon (upper figure), the Open… options appear (lower figure)

After tapping the + icon (upper figure), the Open… options appear (lower figure)

After tapping the + icon (upper figure), the Open… options appear (lower figure)

3. Similar to how Mission Control in OS X Lion works, you now have two screens from which you can switch back and forth. At this point, the Dropbox screen should be the frontmost one. If so, tap Cancel to exit multiscreen mode.

Dropbox contents viewed from iFile on the iPhone

Dropbox contents viewed from iFile on the iPhone

4. Scroll to locate the iPad’s highscores.lua file in Dropbox. Tap the Edit button in the upper right and then tap to select the .lua file.

Getting ready to copy the highscores.lua file

Getting ready to copy the highscores.lua file

5. Tap the Clipboard icon and select Copy/Link. Tap Done.

6. Tap the multiscreen icon again. From the display, swipe to bring the original screen to the front. Tap Cancel.

Back in multiscreen mode

Back in multiscreen mode

7. Similar to what you did on the iPad, navigate to the Documents directory of the relevant Angry Birds app package. Start by tapping the Applications item in the display. When you get to the Documents directory, tap the Edit button followed by the Clipboard icon, to bring up the Paste command. Tap Paste.

Select Paste to replace the iPhone’s highscores.lua file with the one you copied from the iPad

Select Paste to replace the iPhone’s highscores.lua file with the one you copied from the iPad

8. Because you will be overwriting an existing file, the following box appears:

Tap Overwrite or Overwrite All here

Tap Overwrite or Overwrite All here

Tap Overwrite (or, if you are pasting more than one file, tap Overwrite All). Finally, tap Done to exit Edit mode.

That’s it. The iPhone version of Angry Birds now has the iPad version of your high scores. The next time you launch Angry Birds, the new scores should show up without any further action needed on your part. And you did this all without a Mac anywhere in sight. The cord has been broken.

[Update: 9/15/11: Bluetooth transfers: After playing around with iFile some more, I discovered its Bluetooth transfer capability. It allows for even easier copying of files between two devices within Bluetooth range of each other. No need for Dropbox. To use it, enter Edit mode, select the files you want to copy and  tap the Bluetooth icon (to the left of the Clipboard icon). Select the other iOS device from the list that pops up. On the other device, accept the copy request. Transfer begins immediately.]

As I previously indicated, you can use the same Mac-free technique to move any file (including system files) on any iOS device either to any other location on the same device or to another iOS device. You could move an app’s .plist files for example. Or, if the Open In… command is not supported for a given app, you could still move its documents to another app that can view or edit the same document type.

iFile is an incredibly helpful and powerful app. In an alternate universe, Apple would allow iFile in the App Store. Or, at the very least, they would tacitly permit some form of jailbreaking to exist without hassles. So far, this alternate universe is clearly not the one in which we live. Now that Steve Jobs has resigned as Apple CEO, I see a dim glimmer of hope that such policies might change over time. But we’re talking about the long haul here — at least a year or so away.