从OS X发送通知到iOS

4

我有一款Mac应用程序和iOS应用程序。 我需要在iOS上显示来自Mac应用程序的通知。

是否有比使用推送通知或网络套接字(UDP或TCP)更简单的方法?也许苹果提供了这个功能?

我需要确保用户听到此通知。 应用程序应在后台启动并开始播放声音。

4个回答

4
如果它们在同一网络中,您可以使用Bonjour(https://developer.apple.com/bonjour/index.html)来实现Mac应用程序和iOS应用程序之间的通信。
如果它们在不同的网络中,您需要使用服务器,该服务器将通过TCP连接到Mac应用程序和iOS应用程序,并且您可以通过服务器发送消息。如果iOS设备被锁定或应用程序在后台运行,则必须实现推送通知以向iOS应用程序发送数据。

1

如果您的用例不确定,但使用苹果推送通知来为应用程序提供通知似乎是一个合适的选择。同样,如果您的用例不确定,另一种选择可能是使用Twilio API发送短信。


1

还有另外一种选择,称为BLE。使用核心蓝牙框架,您可以在Mac和iOS之间进行交互。

当您使用此框架从Mac接收到任何消息时,您可以显示本地通知并唤醒应用程序,因为BLE也可以在后台模式下工作。

要使Mac充当外围设备,有一个很好的开源项目在这里

您可以在 这里 找到有关BLE的更多信息。

希望这有所帮助。


0

我认为唯一可接受的解决方案是通过APNS从Mac向iOS设备发送推送通知,因为iOS应用程序生命周期的限制。在实现APNS方面并不困难,有很多现成的实现,比如NWPusher - 你可以将其复制到你的项目中并设置环境 - 密钥、设备令牌 - 就完成了。要将令牌从iOS传输到你的Mac应用程序,你可以使用很多方法。例如,在Mac上实现简单的Web服务,并通过http/https发送令牌。

你也可以使用现成的服务器端实现,比如parse.com,来发送推送通知。


1
由于长期不活跃和缺乏新的苹果HTTP/2要求,NWPusher可能很快被弃用和归档。 - Lubbo
2
NWPusher长时间不同步,最好使用 https://github.com/onmyway133/PushNotifications 这样的东西。 - Sega-Zero

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接