2015-04-17 167 views
0

截至當前,我的應用程序在Documents文件夾中包含關鍵文件,這些文件經歷備份過程,以便日後可以恢復它們。這些文件是由用戶創建的。但是,Documents目錄中還有一個名爲/Templates的文件夾,我需要將其從備份中排除。這包括與應用程序一起下載的文件,用於幫助從基礎創建新文件:模板。使用NSURLIsExcludedFromBackupKey禁用文檔中文件夾的備份

因此,我的問題是這樣的:有沒有什麼辦法可以排除Documents目錄下的單個文件夾?任何解決方案和/或代碼將不勝感激。如果可能的話,我還希望將它保留在Documents目錄中。以下是我從iTunes Connect分析中心收到的消息。

我們發現您的應用不遵循iOS數據存儲 指南,這是根據App Store評論指南所必需的。

特別是,我們發現,在發佈和/或內容下載時,您的 應用程序商店102.71MB。要檢查您的應用程序有多少數據存儲:

  • 安裝並運行你的應用程序
  • 進入設置> iCloud中>存儲&備份>管理存儲
  • 如有必要,請點擊「顯示所有的應用程序」
  • 檢查您的應用程序的存儲

iOS的數據存儲準則表明,只有該 用戶創建使用你的應用程序,例如,文檔,新文件,內容編輯,電子tc。, 應該由iCloud備份。

應用程序使用的臨時文件只能存儲在/ tmp 目錄中;請記得在用戶退出應用程序時刪除此位置 中存儲的文件。或者是因爲客戶希望它是可以離線使用 - -

可以重建,但必須堅持的 正常運行你的應用程序

數據應標有「不備份」屬性。對於NSURL 對象,請添加NSURLIsExcludedFromBackupKey屬性以防止備份對應的文件 。對於CFURLRef對象,請使用相應的kCFURLIsExcludedFromBackupKey屬性的 。如何防止 檔案被備份到iCloud和iTunes?

需要修改您的應用以符合iOS 數據存儲指南的要求。如果您在重新報告 問題時遇到困難,請嘗試測試技術文檔 Q &中描述的工作流程QA1764:如何重現針對App Store 提交報告的錯誤。

如果利用上述資源後,代碼級的問題, 你不妨與蘋果開發者技術支持諮詢。當 DTS的工程師跟進與您,請隨時爲:

  • 您拒絕的問題(S)的完整細節
  • 截圖
  • 步驟重現symbolicated的問題(一個或多個)
  • 崩潰日誌 - 如果您的問題導致崩潰日誌

回答

0
- (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL 
{ 
    if (URL) { 
     assert([[NSFileManager defaultManager] fileExistsAtPath:[URL path]]); 

     NSError *error = nil; 
     BOOL success = [URL setResourceValue: [NSNumber numberWithBool: YES] 
             forKey: NSURLIsExcludedFromBackupKey error: &error]; 
     if(!success){ 
      NSLog(@"Error excluding %@ from backup %@", [URL lastPathComponent], error); 
     } 
     return success; 
    } 
    else 
    { 
     return YES; 
    } 
} 

你可以傳遞文件夾的URL,這應該工作。這是我們如何禁用整個文檔文件夾的備份。

+0

是的,這一切都很好,但我希望禁用文件夾內的文件夾的備份。 –