標籤:讀寫 direct wrapper search 應用 port auto down nslog
iOS開發之沙箱機制(SandBox)具體解說了沙箱的一些機制。在開發中,我們須要對沙箱進行操作。所以我們須要擷取到沙箱路徑。
沙箱裡的目錄包含Documents、Library、tmp。這三個目錄的作用請點擊這裡。接下來我們來解說怎樣擷取Documents、Library、tmp的路徑。
擷取沙箱根資料夾
擷取沙箱根資料夾。直接調用NSHomeDirectory():
//擷取沙箱根資料夾NSString *directory = NSHomeDirectory();NSLog(@"directory:%@", directory);
控制台輸出:
2015-07-22 00:40:16.185 iOSStrongDemo[1605:555658] directory:/var/mobile/Containers/Data/Application/F9418815-51A9-4A0A-A76C-6FD37C400928
這個是真機的路徑,大家有時間的話能夠看看模擬器的根資料夾路徑。
擷取Documents路徑
擷取Documents路徑例如以下:
//擷取Documents路徑NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);NSString *path = [paths objectAtIndex:0];NSLog(@"path:%@", path);
控制台輸出:
2015-07-22 00:41:41.397 iOSStrongDemo[1613:556159] path:/var/mobile/Containers/Data/Application/A62B886B-A8F0-4215-B59D-1F505C3997BD/Documents
擷取Documents檔案夾檔案夾,第一個參數是說明擷取Doucments檔案夾檔案夾,第二個參數說明是在當前應用沙箱中擷取。
擷取Library路徑
//擷取Library路徑NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);NSString *path = [paths objectAtIndex:0];NSLog(@"path:%@", path);
控制台輸出:
2015-07-22 00:43:15.803 iOSStrongDemo[1619:556638] /var/mobile/Containers/Data/Application/17300507-4643-4DE7-BC68-E13DB19C8D98/Library
擷取Caches路徑
//擷取Caches路徑NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);NSString *path = [paths objectAtIndex:0];NSLog(@"path:%@", path);
控制台輸出:
2015-07-22 00:44:31.383 iOSStrongDemo[1626:557083] path:/var/mobile/Containers/Data/Application/1E945B52-E29D-4041-A489-1AA1B11BB960/Library/Caches
擷取tmp路徑
NSString *tmp = NSTemporaryDirectory();NSLog(@"tmp:%@", tmp);
控制台輸出:
2015-07-22 00:46:07.846 iOSStrongDemo[1632:557537] tmp:/private/var/mobile/Containers/Data/Application/4BE02307-1CC5-47E8-BEA8-CEBB7ED5A402/tmp/
以上是iOS開發中擷取沙箱路徑的方法。或許還有更好的擷取方法等待我們去發現。後面我們還會講到關於在沙箱裡進行讀寫檔案操作。
?
iOS開發之擷取沙箱路徑