亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iOS Data Storage Guidelines 和 "do not back up"文件屬性

發布時間:2020-06-02 08:57:57 來源:網絡 閱讀:1367 作者:wicrewoft 欄目:移動開發

 iOS Data Storage Guidelines 和 "do not back up"文件屬性   

 
iOS 5有了iCloud后,Apple更新了數據存儲指導方針,以適應于iCloud存儲,同時增加了“不要備份”文件屬性,可以指定文件不備份和上傳到iCloud
摘錄如下,供大家參考:
iOS 數據存儲指導方針
iCloud包括了備份,會通過Wi-Fi每天自動備份用戶iOS設備。app的home目錄下的所有東西都會被備份,除了應用Bundle本身、緩存目錄和temp目錄。已購買的音樂、應用、書籍、Camera Roll、設備設置、主屏幕、App組織、消息、鈴聲也都會被備份。由于備份通過無線進行,并且為每個用戶存儲在iCloud中,應用需最小化自己存儲的數據數量。大文件會延長備份時間,并且消耗用戶的可用iCloud空間。
 
為了確保備份盡可能快速高效,應用存儲數據需要遵循以下指導方針:
 
1. 只有那些用戶生成的文檔或其它數據,或者應用不能重新創建的數據,才應該存儲在<Application_Home>/Documents目錄下,并且會被自動備份到iCloud。
 
2. 可以重新下載或生成的數據,應該存儲在<Application_Home>/Library/Caches目錄。例如數據庫緩存文件、可下載文件(雜志、報紙、地圖應用使用的數據)等都屬于這一類。
 
3. 臨時使用的數據應該存放在<Application_Home>/tmp目錄。盡管這些文件不會被iCloud備份,應用在使用完之后需要記得刪除這些文件,這樣才不會繼續占用用戶設備的空間。
 
4. 使用"不要備份"屬性來指定那些需要保留在設備中的文件(即使是低存儲空間情況下)。那些能夠重新生成,但在低存儲空間時仍需保留,對應用正常運行有影響,或者用戶希望文件在離線時可用的文件,需要使用這個屬性。無論哪個目錄下的文件(包括Documents目錄),都可以使用這個屬性。這些文件不會被刪除,也不會包含在用戶的iCloud或iTunes備份中。由于這些文件一直占用著用戶設備的存儲空間,應用有責任定期監控和刪除這些文件。
 
iOS 5.0.1開始支持"do not back up"文件屬性,允許開發者明確地指定哪些文件應該被備份,哪些是本地緩存可以自動刪除,哪些文件不需要備份但不能刪除。此外,對目錄設置這個屬性,會阻止備份該目錄和目錄中的所有內容。
 
注意"do not back up"屬性只能用于iOS 5.0.1以后版本。之前版本的應用需要存儲數據到<Application_Home>/Library/Caches目錄才能避免被備份。由于老的系統忽略這個屬性,你需要確保應用在所有iOS版本中,都遵循上面的iOS Data Storage Guidelines。
 
數據處理分類
com.apple.MobileBackup文件屬性就是iOS 5.0.1引入的"do not back up"特性,用于指定文件或目錄不需要備份(不管在文件系統的什么位置)。通過使用這個新的文件屬性,并且將文件存放在指定的目錄下,文件可以分為以下四種數據類型:s.
 
關鍵數據
這些是用戶創建的數據,或其它不能重新生成的數據。應該存放在<Application_Home>/Documents目錄下,并且不應該標記為"do not backup"屬性。關鍵數據在低存儲空間時也會保留,而且會被iCloud或iTunes備份。
 
緩存數據
可以重新下載或生成的數據,而且沒有這些數據也不會妨礙用戶離線使用應用的功能。緩存數據應該保存在<Application_Home>/Library/Caches目錄下。緩存數據在設備低存儲空間時可能會被刪除,iTunes或iCloud不會對其進行備份。
 
臨時數據
應用需要寫到本地存儲,內部使用的臨時數據,但不需要長期保留使用。臨時數據應該保存在<Application_Home>/tmp目錄。系統可能會清空該目錄下的數據,iTunes或iCloud也不會對其進行備份。應用在不需要使用這些數據時,應該盡快地刪除臨時數據,以避免浪費用戶的存儲空間。
 
離線數據
可以下載,或重新創建,但用戶希望在離線時也能訪問這些數據。離線數據應該存放在<Application_Home>/Documents目錄或<Application_Home>/Library/Private Documents目錄,并標記為"do not backup"屬性。這兩個位置的數據在低存儲空間時都會保留,而"do not backup"屬性會阻止iTunes或iCloud備份。應用不再需要離線數據文件時,應該盡快刪除,以避免浪費用戶的存儲空間。ce.
 
設置Do Not Backup擴展屬性
注意:"do not backup"擴展屬性可以添加到任何文件或目錄,在舊版本的系統中也能夠設置。但舊系統仍然會備份這些文件,一旦設備更新到iOS 5.0.1,這些文件會被重新正確地配置。
 
使用下面方法來設置"do not back up"擴展屬性。當你創建不需要備份的文件或目錄時,向文件寫入數據,然后調用下面方法,并傳遞一個文件URL。
 
設置擴展屬性
#include <sys/xattr.h>
- (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL
{
    const char* filePath = [[URL path] fileSystemRepresentation];
    const char* attrName = "com.apple.MobileBackup";
    u_int8_t attrValue = 1;
 
    int result = setxattr(filePath, attrName, &attrValue, sizeof(attrValue), 0, 0);
    return result == 0;
}
 
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

屏山县| 龙岩市| 广平县| 荆州市| 博湖县| 江津市| 镇江市| 密云县| 长沙市| 东丽区| 竹山县| 嘉义市| 泰州市| 东乡县| 炉霍县| 榆林市| 浮山县| 营口市| 通许县| 黎川县| 宜兴市| 浙江省| 北辰区| 新河县| 玉屏| 渭南市| 西乌| 洱源县| 石门县| 兰溪市| 高邑县| 泸水县| 慈溪市| 长宁县| 乐平市| 马公市| 闽侯县| 自贡市| 平陆县| 仁怀市| 洛扎县|