iOS開發中,涉及到文件的下載,保存,上傳,製作等等,需要我們去找到文件夾,查看到底我們的代碼成功了沒有。在模擬器中的沙盒目錄如下:
文件夾路徑圖片:
home
Documents 目錄:應該將所有的應用程序數據文件寫入到這個目錄下。這個目錄用於
存儲用戶數據
或其它應該定期備份的信息。Li brary 目錄:這個目錄下有兩個子目錄:Caches 和 Preferences
Preferences 目錄:包含應用程序的偏好設置文件。您不應該直接創建偏好設置文件,而是應該使用NSUserDefaults
類來取得和設置應用程序的偏好.
Caches 目錄:用於存放應用程序專用的支持文件,保存應用程序再次啓動時需要的信息
。tmp 目錄:這個目錄用於存放臨時文件,
應用關閉時會清除
。
- 程序包目錄
- AppName.app 目錄:這是應用程序的程序包目錄,包含應用程序的本身。由於應用程序必須經過簽名,所以您在運行時
不能對這個目錄中的內容進行修改
,否則可能會使應用程序無法啓動。
- AppName.app 目錄:這是應用程序的程序包目錄,包含應用程序的本身。由於應用程序必須經過簽名,所以您在運行時
//home路徑
NSString *homeDir = NSHomeDirectory();
NSLog(@"%@", docPath);
///Users/zk/Library/Developer/CoreSimulator/Devices/CDA65D19-BC91-4A3A-B3AE-A954750F1E27/data/Containers/Data/Application/0DFE0B5E-8708-4369-90E2-D7F65E0533C7
//document路徑
NSArray *docPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docPath = [docPaths objectAtIndex:0];
NSLog(@"%@", docPath);
///Users/zk/Library/Developer/CoreSimulator/Devices/CDA65D19-BC91-4A3A-B3AE-A954750F1E27/data/Containers/Data/Application/0DFE0B5E-8708-4369-90E2-D7F65E0533C7/Documents
//library路徑
NSArray *libPaths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString *libPath = [libPaths objectAtIndex:0];
NSLog(@"%@", libPath);
///Users/zk/Library/Developer/CoreSimulator/Devices/CDA65D19-BC91-4A3A-B3AE-A954750F1E27/data/Containers/Data/Application/0DFE0B5E-8708-4369-90E2-D7F65E0533C7/Library
//library-caches路徑
NSString *libCachePath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSLog(@"%@", libCachePath);
///Users/zk/Library/Developer/CoreSimulator/Devices/CDA65D19-BC91-4A3A-B3AE-A954750F1E27/data/Containers/Data/Application/0DFE0B5E-8708-4369-90E2-D7F65E0533C7/Library/Caches
//tmp路徑
NSString *tmpPaths = NSTemporaryDirectory();
NSLog(@"%@", tmpPaths);
///Users/zk/Library/Developer/CoreSimulator/Devices/CDA65D19-BC91-4A3A-B3AE-A954750F1E27/data/Containers/Data/Application/0DFE0B5E-8708-4369-90E2-D7F65E0533C7/tmp
//程序包目錄
NSBundle *mainBundle = [NSBundle mainBundle];
NSString *imagePath = [mainBundle pathForResource:@"coupon_bk" ofType:@"png"];
NSLog(@"%@", imagePath); ///Users/zhangke/Library/Developer/CoreSimulator/Devices/CDA65D19-BC91-4A3A-B3AE-A954750F1E27/data/Containers/Bundle/Application/F6B3D963-6C4E-44F9-9C4D-38584B392A33/app.app/coupon_bk.png
//通過上層路徑append字符串形式也可以獲得目標路徑
NSString *tmpPaths = [NSHomeDirectory() stringByAppendingFormat:@"/tmp"];