gpt4 book ai didi

iphone - 在后台运行应用程序?

转载 作者:可可西里 更新时间:2023-11-01 03:25:45 26 4
gpt4 key购买 nike

是否可以在后台保持套接字连接处于事件状态,以便能够推送新数据并随时提醒用户?

最佳答案

这个问题的答案是肯定的。如果您处于后台 状态,那么您可以保持连接打开并处理来自服务器的消息。

不幸的是,这里的复杂性在于您对应用程序所处的状态没有太多控制权:

  • foreground - 用户点击了您的图标,应用正在运行且 UI 可见。
  • 暂停 - 用户之前在前台运行您的应用程序,但通过点击主页按钮或接听电话暂停了它。基本上,您的应用程序是“冻干的”,并且将保持不活动状态,直到它被用户恢复(从它停止的地方开始)或被操作系统终止(见下文)。
  • background - 应用程序之前在前台运行,但由于用户执行的操作已移至background 状态。在这种情况下,通常您的应用会进入暂停状态,但作为开发人员,您可以采取一些措施来防止即时“冻干”并进入后台(见下文)。如果您的应用因 significant change event 被唤醒,它也将处于后台 状态.
  • 已终止 - 您的应用已从内存中卸载,下次启动将从头开始。当您双击主页按钮然后点击应用程序图标旁边的 x 时会发生这种情况。它将应用程序从暂停 状态移动到终止 状态。如果操作系统决定它需要为最近运行的应用程序提供空间并且您的应用程序已暂停很长时间,也会发生这种情况。

很明显,这里的技巧是如何尽可能长时间地保持在后台状态。有几种方法可以做到这一点:

  • 请求更多时间 - 如果您 ask for it 关闭应用程序,您可以获得最多 10 分钟的额外后台处理时间.
  • 使用 UIBackgroundMode - 您可以通过添加相应的 UIBackgroundMode 来声明自己是一个voipaudiolocation 应用pList 的值。这些类型的应用程序有特殊要求,您可以查看 here .

所以这些方法并非没有自己的问题(在商店获得批准就是其中之一)因此我倾向于同意使用 push notifications 的其他答案。可能是通知用户的最佳方法。随着notification improvements in iOS5这将是 future 最好的用户体验。

关于iphone - 在后台运行应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6287989/

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