0

我的应用程序已经在 App Store 上,但现在我正在创建一个 Apple Watch 扩展,这也意味着将数据存储在Shared Group.

对于已经下载我的应用程序的客户,他们第一次启动新更新时,我该如何从当前存储的位置 ( Core Data& ) 移动数据?UserDefaults

执行此操作的最有效且资源最少的方法是什么,并且仅在老用户第一次打开新更新时才这样做?

4

1 回答 1

3

我有类似的问题,但只有用户默认值。我所做的只是当应用程序启动时,它首先在共享组位置中查找,如果失败,它在旧位置中查找,然后将其移动到新位置。

这意味着它只需要第一次检查多个位置,就像这个过程:

  • 使用共享套件名称创建 UserDefaults
  • 如果共享套件中没有您需要的具有值的键,则可能是用户第一次启动,因为需要迁移
  • 所以现在从标准 UserDefaults 中获取所有值,并将它们放入您使用共享套件名称创建的 UserDefaults

下次启动应用程序时,它会在共享套件中找到键/值,根本不需要查看标准的 UserDefaults。

于 2015-03-21T20:41:18.837 回答