我正在为 iOS 开发一个必须使用现有服务器 API 的聊天应用程序。它的工作方式非常简单:应用程序会在每个给定时间间隔检查服务器上是否有新消息并显示它们,此外,它还会向服务器发送用户键入的新消息。
当用户开始“多任务处理”或按下主页按钮时,我的应用程序将转到后台,因此将无法检查服务器是否有新消息。服务器将自动假定用户在达到特定超时时停止了聊天。
通常,用户没有意识到当应用程序进入后台时,它无法保持与服务器的连接并会停止聊天。我正在寻找一种方法,可以在应用程序进入后台后立即通知用户此行为。
我目前的想法是在 applicationWillResignActive
和/或 applicationDidEnterBackground
被触发时通知用户,但我不知道用什么方式。能否以符合 Apple 指南的方式完成?
我知道最好的解决方案是软件的不同整体设计(例如,使用推送通知并且不会因超时而终止服务器端聊天),但在这种情况下我无法更改.
最佳答案
我会继续在后台运行并设置一个过期处理程序 block
(当你的应用程序真的被杀死时由操作系统调用)并且在那里安排一个UILocalNotification
使用
- (UIBackgroundTaskIdentifier)beginBackgroundTaskWithExpirationHandler:(void (^)(void))handler
关于iphone - iOS 聊天应用 : How do I notify the user that the app will not function anymore if the user leaves the app?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16583655/