【问题标题】:How to properly reset iCloud storage for an App如何正确重置应用程序的 iCloud 存储
【发布时间】:2012-12-14 00:31:47
【问题描述】:

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

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

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

干杯和感谢

【问题讨论】:

    标签: objective-c ios icloud


    【解决方案1】:

    删除应用程序是不够的——事实上,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];
    
    }
    

    【讨论】:

      猜你喜欢
      • 2013-09-29
      • 1970-01-01
      • 1970-01-01
      • 2017-04-06
      • 2011-12-12
      • 1970-01-01
      • 2018-05-29
      • 2017-01-27
      相关资源
      最近更新 更多