gpt4 book ai didi

ios - Simperium 复制现有记录

转载 作者:行者123 更新时间:2023-11-30 12:54:08 26 4
gpt4 key购买 nike

当我的 iOS 应用程序第一次启动时,它会使用默认数据初始化一些实体。当应用程序首次安装在设备上时,同一用户的每个设备都会完成相同的过程。这会导致 Simperium 出现问题,因为即使我对实体的某个属性有约束,它也会创建重复项。如何才能避免这种情况的发生呢?有没有办法让 Simperium 跳过本地初始化的对象?或者防止它插入重复项?

将实体的 simperiumKey 设置为对于用户的所有设备都相同的自定义常量值是否可以解决问题?我的意思是,这是否会阻止 Simperium 从不同设备导入完全相同的实体,从而产生重复和同步冲突?

因为我尝试了该选项,看起来 Simperium Server 上的存储桶没问题,但是当我处理 View 并再次打开它时,实体不再存在。当我重新启动应用程序时,它们又回来了......看起来它们消失了,但在重置应用程序后又重新出现了......非常奇怪。

更新问题是,如果我尝试从不同的设备插入相同的实体,我会得到重复的实体。例如。当我第一次设置我的应用程序时,我有一个用代码和其他东西初始化货币实体的函数。如果用户决定在新设备上安装应用程序,则可以在不同的设备上完成相同的操作。在这种情况下,由于新设备将再次初始化 CURRENCY 实体,因此这些信息将生成重复和冲突错误。我需要一种方法让 Simperium 明白设备中本地初始化的实体不得重复。我会从 SPManagedObject 中删除继承,以阻止 Simperium 同步实体,但反过来它们与其他实体有关系,这肯定会给 Simperium 带来问题,因为它会尝试同步与不继承的对象有关系的实体来自 SPManagedObject。希望您现在有了更清晰的想法。

最佳答案

在阅读了有关此主题的各种帖子后,我了解到不注销(这意味着:不调用signOutAndRemoveLocalData)并设置自定义 simperiumKey-s 将防止数据重复。我测试了这个解决方案,它看起来显然不错。我的应用程序需要 Simperium 与同一用户的其他设备同步数据,但它主要与本地 CoreData 数据库配合使用。我希望这个解决方案适合这种情况。

关于ios - Simperium 复制现有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40619085/

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