Azure移动服务脱机同步的文档

时间:2015-10-14 14:38:13

标签: ios azure azure-mobile-services

我们正在尝试使用Azure移动服务与在iPhone和iPad上运行的iOS应用进行离线同步。

到目前为止,我们只有一个非常简单的应用尝试同步一个表。有时候它运行正常,有时它会很慢,有时它会超时,有时会因内部“找不到表”错误而立即失败。

我们无法找到有关此框架的任何实际文档。有许多在线教程,但没有深入的文档。

有谁知道我们在哪里可以找到更好的文档如何使用,以及如何解决这个API?

当我们的客户端调用错误时,是否有某个地方我们可以查找有关实际出错的更多详细信息?

1 个答案:

答案 0 :(得分:2)

主要的两个文档在这里:

当然,这些仍然是相当高的水平,但最后一个应该对故障排除更有帮助。

这个项目也是开源的:https://github.com/Azure/azure-mobile-services/tree/master/sdk/iOS如果你想进入内部,你可以用它创建一个工作区。

可同步操作(插入/更新/删除)错误通常只是CoreData的一个问题,它们只是表现出内部错误。

对于Push / Pull,它们可以将错误包装在一个数组中,因为可以有1 /项同步,但同样可以使用基础错误。

未找到内部表错误是由于未在CoreData中定义表。当代码无法为给定表创建实体时会发生这种情况(请参阅:https://github.com/Azure/azure-mobile-services/blob/master/sdk/iOS/src/MSCoreDataStore.m#L51)我将查看如何初始化托管对象上下文以及模型是否正确。

对于缓慢问题,我的猜测是,您正在运行一个免费的移动服务,如果一段时间没有使用,可能会耗尽,需要在第一次API ping时启动。 (此过程不会在基本/标准层中发生)

此外,网络超时的iOS默认值为30秒,因此合法的网络问题也会感觉很慢。

最后,它也可能是数据量,默认情况下,在Pull期间一次有50个记录下降(所以如果你最初同步5k行,那将需要500次完成,但之后它只会是拉动变化,这将是1-2次旅行。