- Computers & Software»
- Computer Science & Programming
Locate iOS iPhone Simulator Application Document Directory
(c) 2012 kevin languedoc (klanguedoc)
Every app that you create or run in the iOS Simulator (for iPhones or iPads or iPod Touch) creates a sandbox on the Mac hard drive just like on the iPhone, iPad, iPad Mini and iPod Touch devices. Each of these sandboxes has the same file structure as on the devices. Knowing how to locate these sandboxes and subsequent file structure is important to help you develop and debug your apps that include interacting with the file structure like creating subdirectories under the standard file structure directories.
This guide will provide an overview of an iOS file structure in the sandbox and how to locate these sandboxes on a Mac. The path might differ a bit depending on the version of your OS X and possibly since some file folder might be hidden, like the Library folder under your user directory. If this is the case you can use the “Go To Folder” from the Go menu in Finder once you enter your user under the users folder.
Standard File Structure
The iOS file structure is modelled on the Unix operating system from which the iOS was created. If you could access the file system, not just the sandbox, you would find an organization of files and folders like any other Unix system. However, this guide is not intended to explore the Unix system, rather, its focus is more narrow, to show you what the iOS file system looks like in an iOS application sandbox.
Each app on an iOS device has its own sandbox, a special directory on the main file system where the app lives. It lives in isolation on the device even if it can interface with other external system, on the device, the iOS application is not aware of any other file structures. The following table provides details of an iOS app arborescence and a description on its use. The whole file tree resides inside the root folder of the application which is the application identifier key that is assigned to your app when it is created. When the app is deployed to a device, its sandbox and directory is automatically created and populated.
This is app's bundle directory. You cannot write to this directory
This is a writable directory where you can store app data and user generated data. You can create sub-directories and is fully writable.
File originated from external applications like the Mail program will store any attachments here.
This is a system reserved directory that is writable and will typical hold application data that is not related to the user. You can create sub-directories and the contents are backed up to Tunes
This is a temporary storage directory and will be purged when the app stops running..
Locating the Sandboxes on a Mac
Locating your app’s sandbox is not necessarily easy since Apple doesn’t readily publish this information, albeit it may be located in their extensive documentation portal on iOS and OS X. As I mentioned earlier the exact may differ from my description and screenshots (below) depending on your OS X version and if any system directories, like the Library directory is hidden.
Start by locating your user name in the Favorites in Finder. Then in the Go menu in Finder select the Enclosing Folder command which will display the users directory along with your personal folder and a Shared directory which is not needed here, but don’t delete it as it needed by your system.
Expand your directory and locate the Library directory. If it is not visible, select Go To Folder again under the Go menu in Finder and type in Library and click the button to open the Library which will appear as paler than the other folders. Expand the Library folder and located the Application Support directory which you will need to expand also to locate the iPhone Simulator directory (it is the same for all devices).
Once you expand the Application Support directory, you will have a tree of iOS operating system versions again depending on how long you have been developing apps on your Mac. In the provided screenshot, I have been working with iOS since version 4.3 on my present Mac so I have directories for each of these operating system versions. I will expand the 5.1 directory since most of my recent apps are located there.
Under the OS version directory, locate and expand the Applications directory and you will (or should) find the list of numerical directories corresponding to your apps and these are your apps sandboxes . Expanding anyone of these will reveal the previously described sandbox structure. The two screenshots below provides a good visual guide to locate the sandboxes on your Mac.