2013-03-29 86 views
-5

對於我的應用程序,我從蘋果得到拒絕細節,但我不明白該怎麼做,因爲我沒有使用icloud,蘋果說你必須請描述我接下來應該做什麼。蘋果寫下如下。拒絕問題

2.23我們發現您的應用不符合iOS數據存儲指南,這是每個App Store評論指南所必需的。特別是在 中,我們發現在啓動和/或內容下載時,您的應用程序 存儲32MB。要檢查您的應用程序有多少數據存儲:

  • 安裝並運行你的應用程序
  • 進入設置> iCloud中>存儲&備份>管理存儲
  • 如有必要,請點擊「顯示所有的應用程序」
  • 檢查您的應用程序的存儲空間iOS數據存儲指南指出,只有用戶使用您的應用程序創建的內容,例如 文檔,新文件,編輯等應由iCloud備份。

應用程序使用的臨時文件只能存儲在/ tmp 目錄中;請記得在用戶退出應用程序時刪除此位置 中存儲的文件。可以重新創建的數據必須 才能使您的應用正常運行 - 或者因爲客戶 希望它可供離線使用 - 應標記爲 「不備份」屬性。對於NSURL對象,請添加 NSURLIsExcludedFromBackupKey屬性以防止備份對應的 文件。對於CFURLRef對象,請使用相應的 kCFURLIsExcludedFromBackupKey屬性。有關詳細信息,請 參見技術問答& A 1719:如何防止將文件備份到 iCloud和iTunes ?.

有必要修改您的應用以符合iOS數據存儲指南的 要求。對於離散的 代碼級問題,您可能希望諮詢Apple Developer 技術支持。請務必:

  • 包括您拒絕的完整細節問題
  • 準備任何symbolicated崩潰日誌,截圖,並重現步驟爲,當DTS工程師跟進的問題。

有關如何symbolicate和閱讀崩潰日誌信息,請參閱 技術說明TN2151瞭解和分析iPhone OS應用 崩潰報告。如果您難以複製此問題,請 嘗試使用Xcode的歸檔功能測試 Testing Workflow 中描述的工作流程。

+0

什麼。這已經在本網站上的其他許多問題中提到過。 – borrrden

回答

5

您必須設置「do not backup」屬性,讓iphone管理您下載的所有資源文檔目錄。下面的代碼

將在didFinishLaunchingWithOptions的appdelegate的方法 -

你把文件目錄會自動備份iCloud的通過iOS中5.1開始,除非您明確禁用此行爲
NSArray *docPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentDir = [docPath objectAtIndex:0]; 
    NSURL *pathurl=[NSURL fileURLWithPath:documentDir]; 

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; 
+0

您不必「設置」「不備份」。將數據存儲在不同的文件夾(如Caches目錄)中可能會更好。使用「不備份」只是一種可能的解決方案。 – rmaddy

0

它明確指出您的應用程序在文檔目錄中啓動或內容下載時存儲32MB數據。 Document目錄中的任何數據都會自動備份。

所以,如果你想以同樣的方式使用應用程序,你可以做以下兩件事情。

1)像「溫度」

OR

2)任何其他目錄中存儲數據標記您的數據爲「不備份」屬性。爲此,如果您從URL下載任何數據,對於NSURL對象,請添加NSURLIsExcludedFromBackupKey屬性以防止備份相應的文件