我有一个应用程序,它维护与服务器的套接字连接。当应用程序背景化(轻触主页按钮)时,此连接断开,当用户返回时,重新连接大约需要5秒钟。不是太多,但仍然是一种烦恼。
这非常有效,但我认为如果应用程序通过以下方式询问后台执行时间,我可以改善用户体验:
[[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:nil];
我在这里获得了3分钟的额外运行时间,并且套接字可以保持活力一点点。如果用户在这3分钟内返回,那么没有重新连接,可以立即再次使用该应用程序。 (这种情况经常发生,因为他们只是非常快速地检查他们的电子邮件,回复消息等等......并立即返回我的应用程序。)
这肯定会改善用户体验,因为我看到一些应用程序使用它(如IRC iOS客户端)。文件清楚地说明了:
您不应该仅仅使用此方法让应用在移动到后台后继续运行。
我不想运行超过3分钟或伪造成VoIP或音乐播放器应用。这只是一个小的用户体验改进。 Apple可以拒绝这个应用吗?
(现在让我们忽略当应用程序背景时套接字连接不会立即中断。)
答案 0 :(得分:0)
如果appstore审核小组会找到它,他们将拒绝二进制文件。您可以从文档中明确引用为什么不能使用它。此外,如果您添加背景模式,如您的应用程序是VoIP或音乐播放器,但应用程序不是这种类型的应用程序,它也可以被拒绝。