【发布时间】:2015-05-06 09:01:42
【问题描述】:
由于以下问题,我的应用被苹果拒绝了 3 次,
我的应用程序正在使用脱机用途,因此我将下载的文件存储在我们的文档目录中,因此根据 Apple 的建议,我正在为每个文档目录调用过程调用备份密钥禁用过程的方法,即使我的应用程序被拒绝苹果现在也是,
Apple 对我的应用拒绝的声明如下, 2.23 - 应用程序必须遵循 iOS 数据存储指南,否则将被拒绝 感谢您进行这些修改。经过进一步审查,我们发现您的应用不符合我们的准则。
2.23 详情
在启动和下载内容时,您的应用会存储 27.78 MB,这不符合 iOS 数据存储指南。
接下来的步骤
请确认只有用户使用您的应用创建的内容(例如文档、新文件、编辑内容等)由 iCloud 根据 iOS 数据存储指南的要求进行备份。此外,请检查您的应用程序使用的任何临时文件是否仅存储在 /tmp 目录中;当确定不再需要存储在此位置的文件时,请记住删除或删除它们。
可以重新创建但必须保留以使您的应用正常运行的数据 - 或者因为用户希望它可以离线使用 - 应使用“不备份”属性进行标记。对于 NSURL 对象,添加 NSURLIsExcludedFromBackupKey 属性以防止相应文件被备份。对于 CFURLRef 对象,使用相应的 kCRUFLIsExcludedFromBackupKey 属性。
请帮帮我。
请从下面找到我的备份密钥过程启用代码。
请找到我下面的代码(用于备份密钥禁用过程)
- (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL {
if (&NSURLIsExcludedFromBackupKey == nil) { // iOS <= 5.0.1 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;
}
else { // iOS >= 5.1
NSLog(@"DB Back up called : DB path : %@",URL);
NSError *error = nil;
[URL setResourceValue:[NSNumber numberWithBool:YES] forKey:NSURLIsExcludedFromBackupKey error:&error];
return error == nil;
}
}
【问题讨论】:
-
这个问题是题外话,因为它是关于 App Store 合规性,而不是编码问题。请看Are developer-centric questions about application stores on topic for Stack Overflow?
标签: ios