IOS拒绝了AppStore

时间:2015-06-04 02:54:02

标签: ios app-store

我已将我的申请提交给AppStore,但我的申请已被拒绝。

这是一个原因: enter image description here

我已经按照此链接工作,但我的申请也被拒绝了。 2.23: Apps must follow the iOS Data Storage Guidelines or they will be rejected

3 个答案:

答案 0 :(得分:3)

这通常意味着您要存储一些数据,缓存文件或配置文件图像,例如,可以在iCloud备份的位置由您的应用重新创建/重新下载。这浪费了Apple的用户数据和服务器空间。在过去6个月左右的时间里,他们一直在坚持这一点。

您可以将文件存储在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

答案 1 :(得分:0)

问题是你的应用程序首先存储了252.96MB的数据!

您无法通过这种方式设计应用。请记住,用户只有有限的存储和备份空间。 Apple的文档非常清楚这里的规则:

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

您应该只将大数据存储在Caches目录中,在该目录中可以清除它,以及它不会被备份的位置。

答案 2 :(得分:0)

如果要存储可以重新下载或重新生成的大量数据,则需要将其存储在<Application_Home>/Library/Caches而不是<Application_Home>/Documents目录中。

或者,您可以使用应用代理中的addSkipBackupAttributeToItemAtURL方法阻止设备将某些文件备份到iCloud。