iOS的檔案分類、存放路徑及檔案屬性

來源:互聯網
上載者:User

標籤:

關鍵資料

內容:使用者建立的資料檔案,無法在刪除後自動重新建立,且會

路徑:主目錄/Documents

屬性:不要設定"不備份"

管理:iOS系統即時遇到儲存空間不足的情況下,也不會清除,同時會備份到iTunes或iCloud中  

快取資料 

內容:可用於離線環境,可被重複下載重複產生,即時在離線時缺失,應用本身也可以正常運行

路徑:主目錄/Library/Caches

屬性:預設

管理:在儲存空間不足的情況下,會清空, 並且不會被自動備份到iTunes和iCloud中

臨時資料

內容:應用運行時,為完成某個內部操作臨時產生的檔案

路徑:主目錄/tmp

屬性:預設

管理:隨時可能被iOS系統清除,且不會自動備份到iTunes和iCloud,盡量在檔案不再使用時,應用自己情況,避免對使用者裝置空間的浪費 

離線資料

內容:與快取資料類似,可以被重新下載和重建,但是使用者往往希望在離線時資料依然能夠托托地存在著

目錄:主目錄/Documents  或 主目錄/Library/自訂的檔案夾

屬性:放於Documents下不需設定,放在自訂檔案夾中需設定"不備份" 

管理:與關鍵資料類似,即時在儲存空間不足的情況下也不會清楚,應用自己應該清除已經不再使用的檔案,以免浪費使用者裝置空間

 

從iOS5.0.1引入的設定不要備份檔案(檔案夾也適用)的擴充屬性

 

 1 #include <sys/xattr.h>
 2 - (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL
 3 {
 4     const char* filePath = [[URL path] fileSystemRepresentation];
 5     
 6     const char* attrName = "com.apple.MobileBackup";
 7     u_int8_t attrValue = 1;
 8     
 9     int result = setxattr(filePath, attrName, &attrValue, sizeof(attrValue), 0, 0);
10     return result == 0; 

11 }

 

 

1.列出相應路徑的擴充屬性

Ssize_t listxattr(const char *path ,                     //路徑 

                           char *list,                                   //是擴充屬性名字,是一個數組,每個擴充屬性以\0結束 例如:user.name1\0system.name1\0user.name2\0

                           size_t size);                           //分配緩衝的大小

 

返回的是擴充屬性的大小 包括/0;

 

2.列出擴充屬性所對應的值

ssize_t getxattr(const char *path,               //路徑

                             const char *name,         //擴充屬性名字

                            void *value,                       //擴充屬性所對應的值 

                             size_t size);                    //擴充屬性的長度

 

3.設定擴充屬性

setxattr(path,                                                 //路徑

               key,                                                //擴充屬性的名字

              value,                                            // 擴充屬性的值

              size,                                             //擴充屬性的長度

            flags);                                       //標識

 

iOS的檔案分類、存放路徑及檔案屬性

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.