【发布时间】:2011-02-03 17:11:08
【问题描述】:
我有一个 Rails Web 应用程序,用于从运行我开发的应用程序的 iOS 设备收集数据。
Rails Web 服务器将处理与 Apple 推送通知服务的通信,因此 iOS 应用程序将向其发送所需的设备令牌和其他一些特定于应用程序的数据。
Mac 应用程序将与 Rails 应用程序通信以将消息推送到 iOS 设备。 Mac 应用程序和 Rails 网络应用程序将在同一个 Mac 服务器上运行,使用同一个用户帐户。
iPhone 和 Mac 应用程序与 Rails Web 应用程序之间的通信将使用 Web 应用程序公开的 RESTful Web 服务完成。
一旦 iOS 应用程序将其数据发送到 Rails Web 服务,我需要将该数据发送到将与 Rails Web 应用程序在同一服务器上运行的 Mac 应用程序,以便它知道需要发送哪些消息被推送到应该被推送到的位置。
如果我想在同一个盒子上的 Rails Web 应用和 Mac 应用之间进行通信,我应该寻找什么?
我研究过通过 RESTful 服务从 Mac 应用程序轮询 Web 应用程序,但我认为这不是最优雅或最有效的解决方案。有什么方法可以让我从 Ruby 的 Mac 应用程序中调用一些操作?
编辑:
我刚刚了解了NSDistributedNotifications 和分布式通知中心。这听起来像我正在寻找的。p>
是否可以使用 Rails 应用程序中的 RubyCocoa 发送分布式通知并让 Mac 应用程序监听此通知?
【问题讨论】:
-
这似乎有点奇怪。为什么 Mac 应用程序不只是充当服务器?为什么要使用 Rails?
-
我猜是因为 rails 应用程序已经存在。集成 rails 应用的功能需要一些时间和精力,但我想这会是更好的安排,并且可能是解决这个问题的方法。
标签: ruby-on-rails cocoa ipc push-notification