簡體   English   中英

iOS被AppStore拒絕

[英]IOS rejected from AppStore

我已經向AppStore提交了申請,但是我的申請被拒絕了。

這是一個原因: 在此處輸入圖片說明

我已經通過該鏈接進行工作,但是我的申請也被拒絕了。 2.23:應用必須遵循iOS數據存儲准則,否則將被拒絕

通常,這意味着您正在將一些數據,緩存文件或配置文件圖像存儲在應用程序可以重新創建/重新下載的位置,例如iCloud將要備份的位置。 這浪費了用戶的數據和蘋果的服務器空間。 在過去大約六個月的時間里,他們確實一直在嚴厲打擊此事。

您可以將文件存儲在沒有iCloud備份的位置(/ Library / Application Support),或使用“不備份”屬性標記文件。

用以下代碼獲取該文件夾:

NSString* appSupportFolder = [NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES) firstObject];

您可以使用以下類別來設置“不備份”屬性:

@implementation NSURL (DoNotBackupAttribute)

- (BOOL)dw_addDoNotBackupAttribute
{
    if (![[NSFileManager defaultManager] fileExistsAtPath:[self path]]) return NO;

    __autoreleasing NSError* error = nil;
    if (![self setResourceValue:@(YES) forKey:NSURLIsExcludedFromBackupKey error:&error]) {
        NSLog(@"Error: failed to set do not backup attribute on file %@, error: %@", self, [error localizedDescription]);
    }

    return YES;
}

@end

問題在於您的應用程序首先存儲252.96MB的數據!

您不能以這種方式設計應用程序。 請記住,用戶只有有限的存儲和備份空間。 Apple的文檔非常清楚此處的規則:

https://developer.apple.com/icloud/documentation/data-storage/index.html

您應該只將大數據存儲在Caches目錄中,在該目錄中可以清除大數據並且在不備份該數據。

如果要存儲大量可以再次下載或重新生成的數據,則需要將其存儲在<Application_Home>/Library/Caches而不是<Application_Home>/Documents目錄中。

或者,您可以使用應用程序委托中的addSkipBackupAttributeToItemAtURL方法阻止設備將某些文件備份到iCloud。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM