iOS沙盒機制檔案操作及bug記錄

2021-07-09 07:49:00 字數 1958 閱讀 3237

沙盒機制

2.documents:用於存放使用者資料,預設可讀寫。

將資料寫到document下

nsarray *paths = nssearchpathfordirectoriesindomains(nsdocumentdirectory,nsuserdomainmask,yes);

讀取資料

3.library:用於存放程式預設設定

library /caches:用於存放快取資料等可再生的資料,可以刪除

nssearchpathfordirectoriesindomains引數

nscachesdirectory:搜尋的資料夾; nsuserdomainmask:搜尋的範圍;yes:路徑不採用波浪線的形式暫開

library/preferences:儲存應用程式的偏好設定,nsuserde****ts設定的資料都會儲存到該目錄下的plist檔案

4.temp:儲存程式再次啟動不再需要的檔案

nsstring *path = nstemporarydirectory();

nslog(@"%@", path);

輸出結果:

path:/var/folders/hj/8sgyk0f555l1z_n95p2b2kp00000gn/t/

ios沙盒機制

ios應用程式只能在為該改程式建立的檔案系統中讀取檔案,不可以去其它地方訪問,此區域被成為沙盒,所以所有的非**檔案都要儲存在此,例如影象,圖示,聲音,映像,屬性列表,文字檔案等。

1.1、每個應用程式都有自己的儲存空間

1.2、應用程式不能去訪問別的儲存空間的內容

1.3、應用程式請求的資料都要通過許可權檢測

沙盒檔案路徑的一些操作通過filemanager

1.獲取documents路徑:

nsarray *documentpaths = nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask,yes);

nsstring *documentpath = [documentpaths objectatindex:0];

2.建立檔案目錄: 

nsfilemanager* filemanager = [[nsfilemanager alloc] init];//檔案管理器

bool isdirectory;

nsarray *documentpaths = nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask,yes);

nsstring *documentpath = [documentpaths objectatindex:0];

//其中attributes是對檔案目錄的一些設定

}3.刪除目錄

//刪除目錄

[filemanager removeitematpath:directory error:nil];

}4.根據檔名刪除指定的目錄

nsstring *extension = @"png";

在公司專案遇到乙個bug,是關於pdf和aip文件的手寫文字筆跡合成bug,在模擬器上使用總監c的庫合成文件沒有問題,但是在真機上執行筆跡無法合成,對比真機和模擬器的不同,想到檔案路徑的區別。

真機合成的文件是從以下路徑讀取的

鼓樓資訊.pdf

而模擬器合成文件的路徑是從這個路徑讀取的

鼓樓資訊.pdf

由於demo是從工程的本身的檔案中讀取出路徑,我直接把這個路徑下的檔案開啟,而這個路徑下的檔案應該是只能讀不能寫。

解決方法:我根據讀取的路徑再取出data資料並儲存到可讀寫的檔案下

就可以正常合成了

iOS沙盒 一 沙盒機制

1 ios沙盒機制 ios應用程式只能在為該改程式建立的檔案系統中讀取檔案,不可以去其它地方訪問,此區域被成為沙盒,所以所有的非 檔案都要儲存在此,例如影象,圖示,聲音,映像,屬性列表,文字檔案等。1.1 每個應用程式都有自己的儲存空間 1.2 應用程式不能翻過自己的圍牆去訪問別的儲存空間的內容 1...

iOS沙盒 sandbox 機制和檔案操作

1 ios沙盒機制 ios應用程式只能在為該改程式建立的檔案系統中讀取檔案,不可以去其它地方訪問,此區域被成為沙盒,所以所有的非 檔案都要儲存在此,例如影象,圖示,聲音,映像,屬性列表,文字檔案等。1.1 每個應用程式都有自己的儲存空間 1.2 應用程式不能翻過自己的圍牆去訪問別的儲存空間的內容 1...

iOS沙盒(sandbox)機制及獲取沙盒路徑

一 每個ios應用sdk都被限制在 沙盒 中,沙盒 相當於乙個加了僅主人可見許可權的資料夾,蘋果對沙盒有以下幾條限制。1 應用程式可以在自己的沙盒裡運作,但是不能訪問任何其他應用程式的沙盒。2 應用程式間不能共享資料,沙盒裡的檔案不能被複製到其他應用程式資料夾中,也不能把其他應用程式資料夾中的檔案複...