我想知道在给定所有操作系统限制的情况下,它使用什么技术来提供iOS的实时消息。其中很少有我想到的
即使app在后台,它的发布订阅也能正常工作吗?
答案 0 :(得分:1)
自4.0起,PubNub iOS SDK在其运行的应用程序暂停时不会收到订阅事件。您可以通过PubNub的APNS网关设置推送通知来接收推送事件,但它们的处理方式与标准推送通知类似,而不像PubNub事件那样。
当您的应用运行时,PubNub似乎使用websocket连接来发送和接收通知。当您订阅的频道收到消息时,您创建的客户端将收到回调。
他们的SDK是开源的,因此如果您有兴趣,可以检查内部发生的事情。
答案 1 :(得分:1)
在后台保持连接,继续通过subscribe
接收实时消息不是PubNub SDK的功能,如果您使用的是PubNub iOS 3.x SDK则无关紧要(请不要,它,它有EOL'ed)或PubNub Objective-C for iOS 4.x SDK(请尽快开始使用或尽快迁移到它)。您必须配置并实施您的应用程序才能在后台运行,Apple必须允许您(通过应用程序审核)这样做。
您的应用必须属于证明背景活动合理的类型:see Apple dev docs for iPhone OS Programming Guide - Background Execution (table 3.1)
在Background Modes in iOS的RayWunderlich.com上有一个很棒的教程,可以很好地解释所有选项。