【发布时间】:2014-05-07 05:02:47
【问题描述】:
我一直为 Android 编写代码,现在我希望将我的知识扩展到 iOS 开发;所以我真的很陌生,请耐心等待。
我了解只有一小部分应用程序可以在后台无限期运行。这些是 VoIP、音乐播放器和位置跟踪应用程序。
我想使用 XMPP 框架编写一个聊天应用程序。一切都很好,直到用户将应用程序置于后台,在这种情况下,应用程序将保持连接大约十分钟,然后被系统杀死,因此用户将无法接收新消息。
我知道保持应用程序活跃的黑客攻击。诸如在 info.plist 文件中将其定义为音乐播放应用程序然后无限期地播放一些空声音之类的技巧。但我也知道,当该应用程序发布到 App Store 时,Apple 会拒绝该应用程序。
那么,通常情况下,其他应用程序是如何做到的呢?其他聊天应用程序如何在后台保持活动状态以接收来自服务器的新消息? Google Hangouts、IM+ 等应用?
【问题讨论】:
-
因为iOS聊天是手机的核心功能,所以苹果一直在运行这个守护进程。
标签: ios background-process keep-alive livechat