应用程序被拒绝不遵守iOS数据存储指南

时间:2013-05-30 10:04:40

标签: ios iphone appstore-approval

我的应用程序具有可下载的内容,我将其保留在文档目录中。哪个在iCloud上备份。因此,不是设置所有单个文件的“不备份”,而是将它们放在文档中的一个目录下,并设置该目录上的“不备份”是否可行?或者我必须在所有单个文件上设置标志。

3 个答案:

答案 0 :(得分:1)

在将数据库保存到文档目录之前,请在应用程序中使用以下代码。

-(BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL
{
    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);

//  NSLog(@"Attributs : %d and Path : %@",result,URL);
    if (result != 0) { 

        NSLog(@"File Backup Attribute setting error");

    }

    return result == 0;
}

答案 1 :(得分:0)

您可以在Library / tmp文件夹中存储所有临时文件或程序可以在没有用户帮助的情况下生成的任何其他数据(这不是用户创建的数据) - Library / tmp文件夹不是内部文档文件夹,其文件夹位于相同级别的Document目录。

然后您不需要将donotbackup属性添加到所有文件中。

谢谢!

答案 2 :(得分:0)

这也发生在我身上。阅读此apple storage guideline

简而言之,您希望遵循指南#2

  

可以存储可以再次下载或重新生成的数据   / Library / Caches目录。您的文件示例   应该在Caches目录中包含数据库缓存文件和   可下载的内容,例如杂志,报纸和版画所使用的内容   地图应用程序。