首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实时同步

实时同步
EN

Stack Overflow用户
提问于 2015-11-17 09:48:02
回答 4查看 1.7K关注 0票数 8

我想开发与UBER一样的应用程序,我需要在选定的区域显示可用的出租车,并在出租车被租用、可用、不可用时进行更新。有点自动刷新。在正常时间间隔后在后台调用web服务不是一个好的选择。谁能建议我更好更快的方法来实现这一点。

谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-12-04 00:03:50

Push

  • 当应用程序运行时使用插座。这会给你即时的更新。
  • 当应用程序没有运行时使用推送通知 (对关键更改使用通知),在应用程序已经运行时忽略这些通知,这有利于套接字。

拉出

  • 使用NSURLSession定期刷新本地DB。这对于网络故障来说是非常有弹性的。

使用多种方法,因为速度和健壮性是相互排斥的。最终,您的目标是使本地DB与服务器的DB保持同步,并在数据更改时触发内部消息。任务不小,因此产生了Firebase https://stackoverflow.com/a/34065953/218152

票数 9
EN

Stack Overflow用户

发布于 2015-12-03 12:21:06

最简单的方法是使用Firebase。它是No sql数据库,您将在更改任何内容时立即进行更新。

这个视频将指导您在没有任何循环的情况下获得更新的速度,以便在应用程序中刷新数据。

问我任何你需要的关于火基地的帮助。

票数 0
EN

Stack Overflow用户

发布于 2015-12-04 02:31:43

我建议你看看CloudKit。有几个原因。

  1. 如果您决定只构建一个应用程序,并且具有与用户不同的驱动程序功能(可能通过让司机注册和登录),那么该应用程序可以将共享数据发布到所有用户都可以访问的公共在线数据库中。您可以在需要时使用此场景中的信息发布本地通知。
  2. 当iOS更新时,您将不依赖于第三方库
  3. 如果您决定创建一个驱动程序和一个单独的用户应用程序,CloudKit将允许您在这些应用程序之间共享数据。
  4. 苹果公司处理安全性和可用性问题。
  5. 总的来说,这个过程很容易实现。
  6. 您可以将本地通知与公共数据库结合起来,以安排提醒、提醒用户等。
  7. 如果正确执行,CloudKit将基本上是免费的。只需传输CKAssets而不是原始数据,您的传输/存储限制就会变得微不足道。
  8. 如果希望进一步扩展数据,还可以从外部web服务/网站访问CloudKit数据库。
  9. 可以使用CloudKit订阅自动同步用户信息。

注:正如评论中指出的,这是一种新技术。这是在第二代,我更喜欢它,因为如果您创造性地使用它,那么您可以模拟外部推送通知行为以及后台支持。CloudKit不再需要第三方web服务器来推送外部通知(因为真正的通知是通过写入共享数据库进行的)。

查看我的有关SO的详细答覆,以便在应用程序与CloudKit之间共享数据。这里有一个指向一些CloudKit视频的链接,它进一步描述了CloudKit的工作方式。苹果有很多文档示例 项目可用。您可以查看关于CloudKit的更多信息的开发人员网站。

CloudKit快速启动

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33753698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档