2013-05-30 24 views
0

我的應用程序具有我在文檔目錄中保存的可下載內容。它在iCloud上備份。因此,可以不將所有單個文件設置爲「不備份」,而是將它們放在一個文檔的一個目錄中,並在該目錄上設置「不備份」將會起作用?還是必須在所有單個文件上設置標誌。應用程序被拒絕不遵循iOS數據存儲指南

+1

您可能會將它們放在tmp目錄中而不是文檔目錄..或緩存中.. –

+0

不,我不想刪除這些文件。這些文件是我的應用正常運行所必需的。 – a4arpan

+0

下載的內容應該放在這裏:/Library/Caches https://developer.apple.com/icloud/documentation/data-storage/ – Desdenova

回答

1

使用下在應用程序代碼數據庫保存到文檔目錄前..

-(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); 

// NSLog(@"Attributs : %d and Path : %@",result,URL); 
    if (result != 0) { 

     NSLog(@"File Backup Attribute setting error"); 

    } 

    return result == 0; 
} 
+0

這很好,但它不回答我的問題:( – a4arpan

+0

你可以從這個鏈接找到https://developer.apple.com/icloud/documentation/data-storage/ –

0

您可以將所有的臨時文件或程序可以在沒有用戶 - 幫助genrate任何其它數據(這是不用戶創建的數據)在Library/tmp文件夾中 - Library/tmp文件夾不是內部文檔文件夾,其文件夾位於Document目錄的同一級別。

然後您不需要爲所有文件添加donotbackup屬性。

謝謝!

0

這也發生在我身上。閱讀本apple storage guideline

在您的應用要遵循準則#2

數據可以再次下載或再生應存放在 /資源庫/緩存目錄一言以蔽之。 應放在Caches目錄中的文件示例包括數據庫緩存文件和 可下載內容,例如雜誌,報紙和 地圖應用程序使用的內容。

相關問題