iOS 数据存储问题 - 即使在 NSURLIsExcludedFromBackupKey 之后也被拒绝

标签 ios iphone backup ios9 appstore-approval

我的应用因未遵循“iOS 数据存储指南”而多次被应用商店拒绝。我已经按照apple review team的建议给所有的文档目录都标上了“不备份”的属性,如图:

- (BOOL)addSkipBackupAttributeToItemAtPath:(NSString *) filePathString
{
    NSURL* URL= [NSURL URLWithString:filePathString];

    NSError *error = nil;
    BOOL success = [URL setResourceValue: [NSNumber numberWithBool: YES]
                                  forKey: NSURLIsExcludedFromBackupKey error: &error];

    return success;
}

我已经为所有 NSDocumentDirectory 调用了上面的 addSkipBackupAttributeToItemAtPath 方法,如下所示:

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    [self addSkipBackupAttributeToItemAtPath:[paths objectAtIndex:0]];

审核团队表示它仍在存储一些数据作为 iCloud 的备份,但被 Apple 审核团队拒绝,实际上我不想备份任何东西。 我是否遗漏了跳过备份属性的任何内容?或者我的代码有什么问题吗?请帮忙。谢谢。

最佳答案

将此代码写在 addSkipBackupAttributeToPath 方法中。我遇到了同样的问题,并通过编写此代码解决了。

- (void)addSkipBackupAttributeToPath:(NSString*)path
{
   u_int8_t b = 1;
   setxattr([path fileSystemRepresentation], "com.apple.MobileBackup", &b, 1, 0, 0);
}

关于iOS 数据存储问题 - 即使在 NSURLIsExcludedFromBackupKey 之后也被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35645056/

相关文章:

elasticsearch - 使用Elasticsearch作为备份存储

backup - 您如何备份您的开发机器?

iOS - 将字典作为参数从 AFNetworking GET 传递的问题

ios - 为什么在页面 View Controller 中使用 KVO 进行观察时应用程序崩溃?以及如何使 KVO 生效?

ios - Xcode 不会越过崩溃

iphone - 如何在iPhone应用程序的mkmapview中添加多个注释?

iphone - 当我单击一个通知时从列表中删除所有推送通知

iphone - 这些创建和处理数组的方法之间的基本区别是什么?

docker - 我应该备份/var/lib/docker 中的所有内容吗?

ios - Sprite 在随机位置移动一次