实时同步

时间:2015-11-17 09:48:02

标签: ios iphone synchronization ios9

我想开发与UBER相同的应用程序,我需要在所选区域显示可用的出租车,并在租用,可用,不可用时更新。一种自动刷新。 定期时间间隔后在后台调用Web服务不是一个好的选择。 任何人都可以建议我更好,更快地实现这一目标。

由于

4 个答案:

答案 0 :(得分:6)

<强>推

  • 在应用运行时使用sockets。这将为您提供即时更新。
  • 当应用未运行时使用Push notifications(使用关键更改通知),并在应用已运行时忽略这些通知,转而使用套接字。

<强>拉

  • 使用NSURLSession定期更新本地数据库。这对网络故障非常有弹性。

使用多种方法,因为速度和稳健性是互斥的。最终,您的目标是使本地数据库与服务器的数据库保持同步,并在数据更改时触发内部消息。 不是小任务,因此Firebase answer

答案 1 :(得分:0)

最简单的方法是使用Firebase。它没有sql数据库,你可以在更改任何内容时立即更新。

This Video将指导您如何快速获得更新,而无需在应用程序中刷新数据。

向我询问有关Firebase的任何帮助。

答案 2 :(得分:0)

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

  1. 如果您决定只构建一个应用程序并以某种方式拥有驱动程序 功能与用户不同(可能是通过驱动程序 注册和登录)然后应用程序可以将共享数据发布到公众 所有用户均可访问的在线数据库你可以使用信息 在这种情况下,在需要时发布本地通知。
  2. 随着iOS更新,您将不再依赖第三方库
  3. 如果您决定创建驱动程序应用和单独的用户应用, CloudKit将允许您跨这些应用程序共享数据。
  4. Apple处理安全性和可用性。
  5. 总的来说,这个过程很容易实现。
  6. 您可以将本地通知与公共数据库结合使用 安排提醒,提醒用户等。
  7. CloudKit正确完成后将基本免费。转移 CKAssets而不是原始数据和您的传输/存储限制 变得可以忽略不计。
  8. 您还可以从外部网络访问CloudKit数据库 服务/网站,如果你想进一步扩展数据。
  9. 您可以使用CloudKit订阅来同步用户信息 自动
  10.   NB - 正如评论中所指出的,这是一项新技术。它在   第二代,我更喜欢它,因为如果创造性地使用它   然后,您可以一起模拟外部推送通知行为   有背景支持。 CloudKit不再需要第三方Web服务器来推送外部通知(因为通过写入共享数据库进行真实通知)。

    查看我的detailed answer on SO,以便在使用CloudKit的应用之间共享数据。以下是一些CloudKit videos的链接,进一步描述了CloudKit的工作原理。 Apple有很多documentationsample projects可用。您可以查看开发者网站more info on CloudKit

    CloudKit Quick Start

答案 3 :(得分:0)

您可以使用静音推送通知来更新包含更新的出租车位置的地图。