gpt4 book ai didi

ios - iOS聊天应用程序如何在后台保持运行?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:55:55 25 4
gpt4 key购买 nike

我一直为 Android 编写代码,现在我希望将我的知识扩展到 iOS 开发;所以我真的很陌生,请耐心等待。

我了解只有一小部分应用程序可以在后台无限期运行。这些是 VoIP、音乐播放器和位置跟踪应用程序。

我想使用 XMPP 框架编写一个聊天应用程序。一切都很好,直到用户将应用程序置于后台,在这种情况下,应用程序将保持连接大约十分钟,然后被系统杀死,因此用户将无法接收新消息。

我知道有黑客可以让应用程序保持活力。例如在 info.plist 文件中将其定义为音乐播放应用程序,然后无限期地播放一些空声音。但我也知道,当该应用程序发布到 App Store 时,Apple 会拒绝该应用程序。

那么,通常情况下,其他应用程序是如何做到的呢?其他聊天应用程序如何在后台保持事件状态以接收来自服务器的新消息? Google Hangouts、IM+ 等应用程序?

最佳答案

理想情况下,它们并不是真正在后台运行,而是像其他人提到的那样使用推送通知。

但一些聊天客户端似乎做了其他事情:我已经验证(通过嗅探空闲 iOS 设备的流量)至少 Google Hangouts、Facebook 和 Skype 都在后台保持打开的持久套接字,并定期发送流量以保持它的活力。

我怀疑他们正在使用 VoIP 异常(exception)情况来规避 Apple 严格的后台执行政策。 iOS 允许“VoIP 应用程序”在后台运行,并保持一个套接字打开以接收有关来电和消息的通知。

也许他们也在使用 iOS 7 的新“后台获取”功能,但据我所知,这不允许持久套接字连接。

关于ios - iOS聊天应用程序如何在后台保持运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22700894/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com