2015-10-14 97 views
2

我们尝试使用Azure移动服务对iPhone和iPad上运行的iOS应用执行脱机同步。Azure移动服务脱机同步的文档

到目前为止,我们只有一个非常简单的应用程序,它试图对单个表进行同步。有时候它可以正常工作,有时候它会很慢,有时甚至会超时,有时会因为内部“找不到表格”错误而立即失败。

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

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

当我们的客户端调用错误出现时,有什么地方可以查找有关实际出错的更多细节?

回答

2

的小二文档是在这里:

授予那些都还是相当高的水平,但最后一个应该是在排除故障多一点帮助。

此外,该项目的开源代码位于:https://github.com/Azure/azure-mobile-services/tree/master/sdk/iOS,如果您想进入内部,您可以使用它创建工作区。

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

对于推/拉,它们可以将错误包装在一个数组中,因为可以同步1个物品,但是同样可以得到底层错误。

内部表未找到错误是由于CoreData中未定义表。它发生时的代码是无法为给定的表的实体(参见:https://github.com/Azure/azure-mobile-services/blob/master/sdk/iOS/src/MSCoreDataStore.m#L51)我会检查你是如何初始化你的管理对象方面,如果你的模型是正确的。

对于缓慢的问题,我的猜测是,你正在运行一个免费的移动服务,如果不使用一段可绕下来,需要启动的第一个API平。 (此过程不会在基本/标准层发生)

而且iOS的默认网络超时时间为30秒,这样一个合法的网络问题也可能会感到速度缓慢。

最后,它也可能是数据量,默认情况下在拉动过程中每次有50个记录下来(所以如果你最初同步5k行,这将需要500次旅行才能完成,但在此之后它只会。拉拉的改变,这将是1-2人次

+1

我们已经看到了这两个环节,也不是我所说的实际文档他们的教程 - 如何让一个简单的应用程序工作的例子,不所有的可用功能的文件,而且该表的定义,并同步反对它的作品,有时,而且失败了,在其他时间,没有我们作出在Azure中或在客户端上的任何变化。 –

+1

我同意,需要更详细的文档在这个主题上,并且正在开发中,我相信新的主页将会在这里:https://azure.microsoft。com/en-us/documentation/articles/app-service-mobile-offline-data-sync-preview /并且最终会有更详细的文档,而不仅仅是教程。 – phillipv

+0

对于核心数据实体创建错误,我的猜测是您提供的托管对象上下文不是使用NSPrivateQueueConcurrency类型创建的,如果它在有时不会出现该错误时有效。 – phillipv