2

我现在正在将 iCloud 添加到我的应用程序中,并且为了能够测试升级方案,我需要不时地完全重置 iCloud 存储。

从设置中删除应用程序和应用程序数据是否足够?我以前这样做过,它导致了很多错误。

完全重置 iCloud 设置和存储以启动应用程序的正确方法是什么,就好像它是一个全新的应用程序安装一样?

干杯和感谢

4

1 回答 1

8

删除应用程序是不够的——事实上,iCloud 的好处在于它在应用程序沙箱之外。该过程可能因您使用的 iCloud 解决方案类型而异。

如果您使用 CoreData,这将是一个以编程方式遍历您的模型堆栈并删除的问题(如果您有一个设计良好且具有正确删除规则的模型,希望您可以从最高级别的关系中删除并让删除流程下)。

如果您使用的是键值存储,则非常简单:

获取对您的 iCloud 通用商店的引用,如下所示(可能您已经在某个地方找到了):

@property (strong, nonatomic) NSUbiquitousKeyValueStore *ubiquitousStore;

要清除它,请枚举它包含的对象并删除它们:

- (void)cleariCloudUbiquitousStore
{
    // Clear everything regardless of actual key:
    for (NSString *key in self.ubiquitousStore.dictionaryRepresentation.allKeys)
    {
            [self.ubiquitousStore removeObjectForKey:key];
    }

    // Sync back to iCloud    
    [self.ubiquitousStore synchronize];

}
于 2012-12-14T00:37:07.270 回答