ios 获取沙河文件夹_关于 iOS 沙盒的目录结构和获取
沙盒目錄結(jié)構(gòu)
1. /xxName.app 應(yīng)用程序的程序包目錄,包含應(yīng)用程序的本身。
2. /Documents/ 保存應(yīng)用程序的重要數(shù)據(jù)文件和用戶數(shù)據(jù)文件等。用戶數(shù)據(jù)基本上都放在這個(gè)位置(例如從網(wǎng)上下載的圖片或音樂文件),該文件夾在應(yīng)用程序更新時(shí)會(huì)自動(dòng)備份,在連接iTunes時(shí)也可以自動(dòng)同步備份其中的數(shù)據(jù)
3. /Library 目錄:這個(gè)目錄下有兩個(gè)子目錄:
可創(chuàng)建子文件夾。可以用來放置您希望被備份但不希望被用戶看到的數(shù)據(jù)。該路徑下的文件夾,除Caches以外,都會(huì)被iTunes備份
4. Library/Caches(緩存) 保存應(yīng)用程序使用時(shí)產(chǎn)生的支持文件和緩存文件(保存應(yīng)用程序再次啟動(dòng)過程中需要的信息),還有日志文件最好也放在這個(gè)目錄。iTunes 同步時(shí)不會(huì)備份該目錄并且可能被其他工具清理掉其中的數(shù)據(jù)。
5. Library/Preferences (偏好)保存應(yīng)用程序的偏好設(shè)置文件(使用 NSUserDefaults( 這個(gè)就是放這) 類設(shè)置時(shí)創(chuàng)建,不應(yīng)該手動(dòng)創(chuàng)建;連iTunes可備份,在應(yīng)用程序更新時(shí)會(huì)自動(dòng)備份;plist文件就放在此處)。
6. /tmp/ 保存應(yīng)用運(yùn)行時(shí)所需要的臨時(shí)數(shù)據(jù),該路徑下的文件不會(huì)被iTunes備份。iphone 重啟時(shí),會(huì)自動(dòng)清除該目錄下所有文件;例如錄制視頻完成后是放在/temp/;所以應(yīng)該將視頻文件從該文件夾轉(zhuǎn)移到相冊(cè)中,否則視頻文件就會(huì)被系統(tǒng)清理掉
iTunes在與iPhone同步時(shí),備份所有的Documents和Library文件。
沙盒目錄結(jié)構(gòu)的詳情可以參考蘋果官方的說明
apple官方說明
我們來測(cè)試一下目錄如何獲取,代碼如下:
(void)getPath{
//獲取沙盒根目錄路徑
NSString*homeDir = NSHomeDirectory();
NSLog(@"homedir: %@",homeDir);
// 獲取Documents目錄路徑
NSString*docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES) firstObject];
NSLog(@"docDir: %@",docDir);
//獲取Library的目錄路徑
NSString*libDir = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask,YES) lastObject];
NSLog(@"libDir: %@",libDir);
// 獲取cache目錄路徑
NSString*cachesDir = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,YES) firstObject];
NSLog(@"cachesDir: %@",cachesDir);
// 獲取tmp目錄路徑
NSString*tmpDir =NSTemporaryDirectory();
NSLog(@"tmpDir: %@",tmpDir);
//獲取應(yīng)用的xx.app目錄
NSBundle *bundle = [NSBundle mainBundle];
NSString *strAppPath = [bundle bundlePath];
NSLog(@"appDir: %@",strAppPath);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
(void)getPath{
//獲取沙盒根目錄路徑
NSString*homeDir=NSHomeDirectory();
NSLog(@"homedir: %@",homeDir);
// 獲取Documents目錄路徑
NSString*docDir=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES)firstObject];
NSLog(@"docDir: %@",docDir);
//獲取Library的目錄路徑
NSString*libDir=[NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask,YES)lastObject];
NSLog(@"libDir: %@",libDir);
// 獲取cache目錄路徑
NSString*cachesDir=[NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,YES)firstObject];
NSLog(@"cachesDir: %@",cachesDir);
// 獲取tmp目錄路徑
NSString*tmpDir=NSTemporaryDirectory();
NSLog(@"tmpDir: %@",tmpDir);
//獲取應(yīng)用的xx.app目錄
NSBundle*bundle=[NSBundlemainBundle];
NSString*strAppPath=[bundlebundlePath];
NSLog(@"appDir: %@",strAppPath);
}
輸出的結(jié)果如下:
homedir: /var/mobile/Containers/Data/Application/E24754D2-22F8-4E8E-8A6C-2B18561DB5AD
docDir: /var/mobile/Containers/Data/Application/E24754D2-22F8-4E8E-8A6C-2B18561DB5AD/Documents
libDir: /var/mobile/Containers/Data/Application/E24754D2-22F8-4E8E-8A6C-2B18561DB5AD/Library
cachesDir: /var/mobile/Containers/Data/Application/E24754D2-22F8-4E8E-8A6C-2B18561DB5AD/Library/Caches
tmpDir: /private/var/mobile/Containers/Data/Application/E24754D2-22F8-4E8E-8A6C-2B18561DB5AD/tmp/
appDir: /private/var/mobile/Containers/Bundle/Application/A5E6DC61-7AAA-467F-BC63-5BEDB8DDB113/sensorTest.app
1
2
3
4
5
6
7
8
9
10
11
homedir:/var/mobile/Containers/Data/Application/E24754D2-22F8-4E8E-8A6C-2B18561DB5AD
docDir:/var/mobile/Containers/Data/Application/E24754D2-22F8-4E8E-8A6C-2B18561DB5AD/Documents
libDir:/var/mobile/Containers/Data/Application/E24754D2-22F8-4E8E-8A6C-2B18561DB5AD/Library
cachesDir:/var/mobile/Containers/Data/Application/E24754D2-22F8-4E8E-8A6C-2B18561DB5AD/Library/Caches
tmpDir:/private/var/mobile/Containers/Data/Application/E24754D2-22F8-4E8E-8A6C-2B18561DB5AD/tmp/
appDir:/private/var/mobile/Containers/Bundle/Application/A5E6DC61-7AAA-467F-BC63-5BEDB8DDB113/sensorTest.app
總結(jié)
以上是生活随笔為你收集整理的ios 获取沙河文件夹_关于 iOS 沙盒的目录结构和获取的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: native字体尺寸自适应 react_
- 下一篇: 神盾特工hive_周末剧透:杰西卡·琼斯