gpt4 book ai didi

ios - 如何在不备份到 iCloud 的情况下为我的应用程序提供演示数据?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:39:48 26 4
gpt4 key购买 nike

我从 1 月份开始在 App Store 中有一个应用程序,它会在首次启动时将数据库文件复制到“Doc​​uments”目录。

此数据库用于存储用户创建的“预设”。每个预设最多可包含 129 张照片。

开始时,该应用程序带有一个“默认预设”,用户可以使用它来了解并开始使用该应用程序。这个预设就像是给用户的“礼物”,如果他不再想要它,他可以删除它。

在更新 2.0.2 中,此模式没有任何变化,但 Apple 现在拒绝了我的更新。

2.23 - Apps must follow the iOS Data Storage Guidelines or they will be rejected

我不知道如何解决这个问题。问题似乎是苹果认为“临时”的默认预设已备份到 iCloud。此预设不是临时的。它必须持久存在,并且是数据库的一部分。

我也不能把数据库标记为“不备份”,因为这样用户创建的“预置”就不会被备份,那就糟糕了。

有人知道如何解决这个问题吗?

最佳答案

您需要将文件标记为 not backup to iCloud .

如果不标记文件,它将有资格备份到 iCloud。 Apple 最近开始执行此操作。

如果应用程序生成大量数据,在应用程序启动时,他们会拒绝它。 Apple 的理由是任何可以重新生成的数据 不应备份到 iCloud。

为防止这种情况,Apple 建议:

- (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL
{
assert([[NSFileManager defaultManager] fileExistsAtPath: [URL path]]);

NSError *error = nil;
BOOL success = [URL setResourceValue: [NSNumber numberWithBool: YES]
forKey: NSURLIsExcludedFromBackupKey error: &error];
if(!success){
NSLog(@"Error excluding %@ from backup %@", [URL lastPathComponent], error);
}
return success;
}

除了 iCloud 的全面遗漏之外,您唯一剩下的就是将您的用户生成内容与可重新创建的内容分开。

关于ios - 如何在不备份到 iCloud 的情况下为我的应用程序提供演示数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19233751/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com