问题标签 [simperium]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
108 浏览

simperium - Simperium 中由本地更新触发的本地回调

我在使用 Simperium 时遇到问题。

这个小 plnkr允许一个用户在我的应用程序上创建一个帐户,并对其进行身份验证。

进行身份验证后,您可以使用名称:值对修改存储桶object_to_update中的对象mydata_data(按更新按钮即可!)。

问题是我总是object_to_update在更新对象时执行存储桶的本地回调。我不明白为什么。更新在本地触发(我在此页面上没有其他远程操作),但即使在本地触发它也总是会触发本地回调。

文档local说:

每当库需要在向您发送通知事件之前检查对象的当前本地状态时,就会触发此回调。这样任何本地更改都可以合并到更新的对象中。在上面的示例中,您可能正在同步来自名为“mytextfield”的 HTML 元素的文本输入。如果有可用的更新(此对象已在其他地方更改),库将期望获取对象的当前状态,以便将本地更改与远程更改合并。当您收到通知事件时,您可以直接更新“mytextfield”。

但是更新不是在其他地方触发的,我是在本地触发的!

我看到更新按预期成功的唯一方法是复制更新代码:

在本地回调中,具有完全相同的onva值,但是首先复制它有什么意义呢?必须有另一种解释。

0 投票
1 回答
75 浏览

simperium - Simperium 如何处理自定义验证逻辑?

通过 iOS 教程,看起来 Simperium 的工作方式与 iCloud Core Data 非常相似,因为它在后台透明地同步并将更改写入底层持久存储并合并到当前托管对象上下文中的更改。我相信这就是待办事项列表示例应用程序的工作方式,因为 NSFetchedResultsController 会自动检测其托管对象上下文中的更改。

但我的问题是,是否有任何 API 用于检测可能发生的冲突?这实际上是一个两部分的问题。首先,是否存在任何 Simperium 无法处理并报告给应用程序以自定义方式处理的冲突?其次,假设我有一个约束,它实际上是作为 Core Data 验证方法实现的,例如,确保子项的数量之和等于其父项的数量(不要问我为什么,这是只是在我的应用程序中的情况),当 Simperium 同步从多个设备更改时,可能会出现两个设备都编辑子项的情况,即子项的总和不再等于父项的数量。Simperium 会将无效数据写入我的持久存储中吗?(即绕过我的核心数据验证)。或者,

如果它可以处理这些情况,我很乐意使用 Simperium。

0 投票
1 回答
161 浏览

simperium - Simperium 是否在其服务器上存储/维护数据?

这听起来可能是一个愚蠢的问题,但由于http://simperium.com/faq/上的常见问题解答对所需信息没有帮助,我在这里问它。

我们计划为我们的项目使用 Simperium,但我们担心数据不应由我们以外的任何其他服务器存储或维护。仅供参考,在http://simperium.com/faq/上,他们说我们可以托管自己的 Simperium 库,但也声明它可以让我们镜像我们的数据,所以任何人都可以像 Simperium 人一样帮助我解决困惑监视我们的数据还是简单地同步并忽略它?

任何帮助/指导/参考都将是可观的。

0 投票
1 回答
55 浏览

simperium - 如何以编程方式删除 Simperium 存储桶

是否可以在 Simperium 中删除存储桶/实体?我可以看到如何删除存储桶的所有内容,但看不到如何完全删除存储桶。

0 投票
2 回答
145 浏览

ios - 如何从远程 Simperium 存储填充一个空的 CoreData 数据库?

我正在运行 Simperium 示例中包含的 SimpletodoFinal.xcodeproj。该示例运行良好,我可以看到 iOS 模拟器和连接到 Simperium 数据存储的 Web 应用程序之间同步的项目。

我添加了一些项目并确保同步更改。然后我退出 iOS 应用程序并删除该应用程序的 sqlite 数据库并再次启动该应用程序。当现有用户将新设备联机时,这似乎是用例。

我遇到的问题是应用程序是空的。远程数据不会向下同步以填充新数据库。有谁知道这可能是为什么?我是否需要在启动时触发手动同步?

谢谢你。

0 投票
0 回答
57 浏览

simperium - Simperium 对象的键的差异更新

是否可以在不发送整个值的情况下向 simperium 发送对象的值更新?

我一直在考虑有一个包含很多小“条目”对象的列表作为 simperium 对象的值,但我似乎无法找到一种方法来只发送一个更新告诉 simperium 添加一个条目到该列表中。如果我发送类似的东西{ "list":{"a":"new object"}},整个现有列表将被替换。这如何与 Simplenote 一起使用?如果Simplenote每次都发送整个body,就不会那么快了……</p>

我还担心更新整个列表意味着整个列表将被下载到另一个客户端,这只是一种浪费,因为我想要保留的数据将是相当静态的。

而且我不能分成多个对象,因为我需要与其他用户共享列表。

我在想我可能会将条目作为 simperium 对象本身的值,所以我可以进行小的更新,但这似乎是一种 hackish 方式,我宁愿有一个有序列表......</p>

想法?谢谢!

0 投票
1 回答
73 浏览

ios - Simperium - 差异错误,UniCharMax

我正在将一个字典数组序列化为一个字符串,它似乎会导致生成差异的问题......或者其他什么......我已经看到了很多这样的:

我看的不是很深,但我不明白我做错了什么……</p>

另外,我有很多 440 错误,有时会出现上述错误。我该如何处理这些错误?当 440 弹出时,框架不应该发送完整的对象吗?

谢谢!

0 投票
2 回答
50 浏览

ios - 如何在 iOS 上运行 Simperium 单元测试

Simperium Android Github讲述了如何运行 Android 测试,但我找不到如何运行 iOS 测试。我尝试打开 Simperium.xcodeproj 但 Product->Test 显示为灰色。

最终,我想编写自己的使用 Simperium 的单元测试,但我想我应该从研究 Simperium 如何构建他们的测试开始。

谢谢。

0 投票
1 回答
72 浏览

ios - Simperium unshare API for HTTP

根据 Simperium HTTP 参考,有一个 API 用于通过提供电子邮件与另一个用户名共享存储桶中的对象。

所有者有什么方法可以取消共享以前共享的项目?

0 投票
1 回答
1435 浏览

http - 如何获取 Simperium API 密钥以访问我自己的 SimpleNote 数据

我注册了一个 Simperium 帐户。我在 Simperium Dashboard 中创建了一个新的“应用程序”。此应用的页面有一个 API 管理员密钥和一个应用 ID。

但是当通过 API 访问我的 SimpleNote 数据时,我可以使用这些凭据吗?

SimpleNote 有自己的通用 App ID 吗?