IOS 被 AppStore 拒绝
IOS rejected from AppStore
我已经向 AppStore 提交了我的申请,但我的申请被拒绝了。
这是一个原因:
我已经按照这个 link 工作了,但我的申请也被拒绝了。
2.23: Apps must follow the iOS Data Storage Guidelines or they will be rejected
这通常意味着您正在存储一些数据、缓存文件或个人资料图片,这些数据可以由您的应用recreated/redownloaded存储在 iCloud 将备份的位置。这会浪费用户数据和 Apple 的服务器 space。在过去 6 个月左右的时间里,他们确实一直在打击这个问题。
您可以将文件存储在 iCloud 不备份的地方(/Library/Application 支持),或者使用不备份属性标记文件。
通过如下代码获取该文件夹:
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 的数据!
你不能那样设计应用程序。请记住,用户只有有限的存储和备份 space。 Apple的文档在这里对规则说的很清楚:
https://developer.apple.com/icloud/documentation/data-storage/index.html
您应该只将大数据存储在 Caches 目录中,它可以被清除并且不会被备份。
如果您要存储大量可以再次下载或重新生成的数据,您将希望将其存储在 <Application_Home>/Library/Caches
而不是 <Application_Home>/Documents
目录中。
或者,您可以使用应用委托中的 addSkipBackupAttributeToItemAtURL
方法阻止设备将某些文件备份到 iCloud。
我已经向 AppStore 提交了我的申请,但我的申请被拒绝了。
这是一个原因:
我已经按照这个 link 工作了,但我的申请也被拒绝了。 2.23: Apps must follow the iOS Data Storage Guidelines or they will be rejected
这通常意味着您正在存储一些数据、缓存文件或个人资料图片,这些数据可以由您的应用recreated/redownloaded存储在 iCloud 将备份的位置。这会浪费用户数据和 Apple 的服务器 space。在过去 6 个月左右的时间里,他们确实一直在打击这个问题。
您可以将文件存储在 iCloud 不备份的地方(/Library/Application 支持),或者使用不备份属性标记文件。
通过如下代码获取该文件夹:
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 的数据!
你不能那样设计应用程序。请记住,用户只有有限的存储和备份 space。 Apple的文档在这里对规则说的很清楚:
https://developer.apple.com/icloud/documentation/data-storage/index.html
您应该只将大数据存储在 Caches 目录中,它可以被清除并且不会被备份。
如果您要存储大量可以再次下载或重新生成的数据,您将希望将其存储在 <Application_Home>/Library/Caches
而不是 <Application_Home>/Documents
目录中。
或者,您可以使用应用委托中的 addSkipBackupAttributeToItemAtURL
方法阻止设备将某些文件备份到 iCloud。