0

我正在为 iOS 开发一个必须使用现有服务器 API 的聊天应用程序。它的工作方式非常简单:应用程序在每个给定的时间间隔检查服务器上是否有新消息并显示它们,此外,它还会向服务器发送用户键入的新消息。

当用户开始“多任务处理”或按下主页按钮时,我的应用程序将进入后台,因此无法检查服务器是否有新消息。服务器将自动假定用户在达到特定超时时停止聊天。

通常,用户不知道当应用程序被置于后台时,它无法保持与服务器的连接并且会停止聊天。我正在寻找一种方法,该方法将在应用程序置于后台后立即通知用户此行为。

applicationWillResignActive我目前的想法是在和/或被解雇时通知用户applicationDidEnterBackground,但我不知道以什么方式。能否以符合 Apple 准则的方式完成?

我知道最好的解决方案是对软件进行不同的整体设计(例如,使用推送通知并且不因超时而终止服务器端聊天),但在这种情况下,我无法改变这一点。

4

1 回答 1

3

我会继续在后台运行并设置一个expiration handler block(当你的应用程序被真正杀死时由操作系统调用)并在那里schedule a UILocalNotification

利用

- (UIBackgroundTaskIdentifier)beginBackgroundTaskWithExpirationHandler:(void (^)(void))handler

于 2013-05-16T09:36:48.077 回答