iOS沙盒與清除快取

2021-07-10 15:35:23 字數 2676 閱讀 7257

sandbox,沙盒機制,是一種安全體系。我們所開發的每乙個應用程式在裝置上會有乙個對應的沙盒資料夾,當前的程式只能在自己的沙盒資料夾中讀取檔案,不能訪問其他應用程式的沙盒。在專案中新增的所有非**的資源,比如、聲音、屬性列表等都存在自己的沙盒中。此外,在程式執行中動態生成的或者從網路獲取的資料,如果要儲存,也都是儲存到沙盒中。

(1)documents:蘋果建議將程式中建立的或在程式中瀏覽到的檔案資料儲存在該目錄下,itunes備份和恢復的時候會包括此目錄

(2)library:儲存程式的預設設定或其它狀態資訊;

裡面又包含兩個資料夾caches和preference;

caches,存放快取檔案,itunes不會備份此目錄

(3)tmp:提供乙個即時建立臨時檔案的地方

**

//  jrsandboxpath.h

// fmdb

//// created by jerei on 15-10-30.

//#import

@inte***ce jrsandboxpath: nsobject

// 獲取沙盒document的檔案目錄

+ (nsstring *)getdocumentdirectory;

// 獲取沙盒library的檔案目錄

+ (nsstring *)getlibrarydirectory;

// 獲取沙盒library/caches的檔案目錄

+ (nsstring *)getcachesdirectory;

// 獲取沙盒preference的檔案目錄

+ (nsstring *)getpreferencepanesdirectory;

// 獲取沙盒tmp的檔案目錄

+ (nsstring *)gettmpdirectory;

@end

//// jrsandboxpath.m

// fmdb

//// created by jerei on 15-10-30.

//#import " jrsandboxpath.h"

@implementation jrsandboxpath

#pragma mark - 獲取沙盒document的檔案目錄

+ (nsstring *)getdocumentdirectory

#pragma mark - 獲取沙盒library的檔案目錄

+ (nsstring *)getlibrarydirectory

#pragma mark - 獲取沙盒library/caches的檔案目錄

+ (nsstring *)getcachesdirectory

#pragma mark - 獲取沙盒preference的檔案目錄

+ (nsstring *)getpreferencepanesdirectory

#pragma mark - 獲取沙盒tmp的檔案目錄

+ (nsstring *)gettmpdirectory

@end

在開發的過程中,遇到有用的資料,會進行快取,當該資料不需要時,可以清除。在這裡整理了幾個方法,統計問價的大小,清除指定檔案,清除指定目錄下的全部檔案等。

**

//  jrcleancaches.h

// fmdb

//// created by jerei on 15-10-30.

//#import

@inte***ce jrcleancaches : nsobject

// 根據路徑返回目錄或檔案的大小

+ (double)sizewithfilepath:(nsstring *)path;

// 得到指定目錄下的所有檔案

+ (nsarray *)getallfilenames:(nsstring *)dirpath;

// 刪除指定目錄或檔案

+ (bool)clearcacheswithfilepath:(nsstring *)path;

// 清空指定目錄下檔案

+ (bool)clearcachesfromdirectorypath:(nsstring *)dirpath;

@end

//// jrcleancaches.m

// fmdb

//// created by jerei on 15-10-30.

//#import "jrcleancaches.h"

@implementation jrcleancaches

#pragma mark - 根據路徑返回目錄或檔案的大小

+ (double)sizewithfilepath:(nsstring *)path

}return totalsize / (1024 * 1024.0);

} else

}#pragma mark - 得到指定目錄下的所有檔案

+ (nsarray *)getallfilenames:(nsstring *)dirpath

#pragma mark - 刪除指定目錄或檔案

+ (bool)clearcacheswithfilepath:(nsstring *)path

#pragma mark - 清空指定目錄下檔案

+ (bool)clearcachesfromdirectorypath:(nsstring *)dirpath

return flag;

}@end

iOS 歸檔 沙盒快取資料

快取一條資料沒啥意義 實際開發中一般都是快取很多條資料或者是乙個dictionary甚至其他物件 tips 同一物件快取可以使用同一沙盒路徑 不同型別的資料千萬別使用同一沙盒路徑 不同型別資料如果使用同一路徑那麼快取的很可能就是最後歸檔的資料 我嘗試過 切記 1 快取100條資料 資料內容為pers...

iOS沙盒 一 沙盒機制

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

IOS 沙盒機制

ios沙盒機制 sandbox ios中的沙盒機制是一種安全體系,它規定了應用程式只能在為該應用程式建立的資料夾裡讀取檔案,不可以訪問其他地方的內容,所有的非 檔案都儲存在這個地方,比如 聲音 屬性列表和文字檔案等。1.每個應用程式都在自己的沙盒內 2.應用程式間不能共享資料,不能隨意去訪問別的應用...