O'Reilly logo

iOS 7 Programming Cookbook by Vandad Nahavandipoor

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

14.1. Finding the Paths of the Most Useful Folders on Disk

Problem

You want to be able to find the path of some of the most useful folders that your app has access to (e.g., the folders that we talked about in this chpater’s Introduction), so that you can access their content or create new content in those folders.

Note

Programmers need to use APIs that are exposed in the iOS SDK to find the path of folders and/or files. In other words, you should never assume the path of a folder or a file. You should always make sure that you use the appropriate APIs to, for instance, find the paths that you are looking for, such as the Documents folder. Never, ever assume that this folder will be called Documents in your app’s bundle. Simply use the appropriate APIs to find this path and, if you want to add or access files in the folder, attach your filenames to the end of this path.

Solution

Use the URLsForDirectory:inDomains: instance method of the NSFileManager class.

Discussion

The NSFileManager class offers a lot of file- and folder-related operations that you can do with iOS, right inside your apps, simply by making an instance of the class. I advise against using the shared file manager provided by this class through the defaultManager class method because it is not thread-safe. It is best to create and manage an instance of the NSFileManager class for yourself.

The URLsForDirectory:inDomains: instance method of the NSFileManager class allows you to search for specific directories on the iOS filesystem, ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required