我想开发一个应用程序,通过互联网从 iPhone 向其他 iPhone 发送消息,即使我的 iPhone 在后台运行,我也想从其他 iPhone 接收消息。我看过 WiTap 应用程序,但是当应用程序关闭或屏幕锁定时,套接字会断开连接。
那么是否有可能开发应用程序,以便即使我的应用程序永远在后台运行,我也可以收到消息?
根据我的小知识,你不能通过 WiFi 做到这一点。
发生屏幕锁定时,设备将自动关闭 wifi 连接以延长电池寿命。这就是为什么套接字连接断开的原因。
在 iOS 中,应用程序不能在后台做很多事情。应用程序只允许执行有限的活动集,因此可以节省电池寿命。
但是,如果发生了一些有趣的事情,并且您希望让用户知道这一点,即使他们目前没有使用您的应用程序。
例如,也许用户收到了一个新的聊天。由于应用程序当前未运行,因此无法检查这些事件。
幸运的是,Apple 已经为此提供了解决方案。您可以编写一个服务器端组件来代替您的应用程序不断检查事件或在后台工作,而不是这样做。
您可以使用 Apple Push Notification Service来完成。
它使用推送技术通过不断开放的 IP 连接将通知从第三方应用程序的服务器转发到 Apple 设备;此类通知可能包括徽章、声音或自定义文本警报。在 iOS 5 中,通知中心增强了推送和本地通知的用户体验。
更多细节在这里
注意:详细信息和屏幕截图取自raywenderlich网站/博客。