【问题标题】:Bootstrapping data at application startup with Simperium使用 Simperium 在应用程序启动时引导数据
【发布时间】:2012-08-30 01:57:32
【问题描述】:

作为一个在尝试构建 iCloud 以支持我们的一款 CoreData 应用程序时经历过 iCloud 痛苦的人,Simperium 看起来很有希望,但我很想看看它如何处理一些尖锐的边缘。

我遇到的一个问题是如何在应用程序启动时优雅地处理引导数据。当用户第一次启动我们的应用程序时,我们会将一些默认数据加载到我们的 CoreData 数据库中。如果用户先在 iPhone 上启动应用程序,然后在 iPad 上启动应用程序,他们最终会因为同步而在两台设备上复制引导数据。使用 iCloud,解决方案是连接到 iCloud 合并过程。

我将如何使用 Simperium 处理这个问题?

【问题讨论】:

    标签: simperium


    【解决方案1】:

    至少有几种方法可以做到这一点。

    您可以为每个种子对象硬编码simperiumKey。例如,在便笺应用中,如果每个新用户都收到欢迎便笺,您可以使用 simperiumKeywelcomeNote 在本地创建该便笺。这将确保该用户的帐户(在任何设备上)中只存在一个欢迎注释。使用这种方法,可能会有一些冗余数据传输,因此最好不要有大量种子数据。另一方面,如果您希望新用户在首次启动您的应用时处于离线状态,您也可以立即使用这种方法。

    使用 Simperium,您还可以选择使用服务器进程。您可以使用在创建帐户时运行一些代码的 Python 或 Ruby 侦听器为新用户帐户播种数据。如果有大量数据,这是一个好方法,但缺点是用户需要在线才能传输种子数据(当然传输本身需要一些时间)。

    这些方法有一些微妙之处。对于第一种方法,使用welcomeNote 示例,如果您的用户删除了welcomeNote 并随后重新安装了您的应用程序,那么welcomeNote 将被复活(但不会重复),因为它是在本地创建的。这通常是可以接受的。使用第二种方法,welcomeNote 将只播种一次,因此即使重新安装您的应用,它也永远不会复活。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-21
      • 2014-10-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多