【问题标题】:why my Ios App is killed by OS in background mode?为什么我的 iOS 应用程序在后台模式下被操作系统杀死?
【发布时间】:2020-02-15 13:26:38
【问题描述】:

嗨,我有一个 iOS 应用程序,当我在我的 iPhone 上通过 Xcode 运行它时,它可以完美运行。当我按下主页按钮并锁定屏幕时,应用程序会继续记录数据。当我解锁屏幕 1 或 2 小时后它仍在记录数据并且运行良好。但是当我停止应用程序时,拔下手机并直接通过我 iPhone 上的应用程序图标运行已安装的应用程序,它在锁定屏幕几秒钟后被操作系统杀死。我已经问过类似的问题问题但找不到任何帮助。如果有人可以下载源代码并查看它,他/她会非常好。谢谢

【问题讨论】:

  • 由于它附加到调试器,它永远不会被杀死。
  • ahan。我知道了。

标签: ios iphone xcode swift4 swift5


【解决方案1】:

为什么我的 Ios 应用程序在后台模式下被操作系统杀死?

操作系统不允许应用在后台长时间运行以节省电量。也有例外——您可以告诉操作系统您的应用程序需要在后台运行several reasons 之一,例如在后台播放音乐。还有一些功能可以在后台唤醒您的应用程序进行一些处理——例如,您的应用程序可以在位置更改时收到通知。

【讨论】:

  • 感谢您的回答先生...您能告诉我如何告诉操作系统我的应用程序需要更多时间来继续计算位置并标记地图。
  • 如果应用在后台,为什么需要标记地图?
  • 该应用程序会持续记录用户的动作并显示他所经过的所有位置。用户只需启动记录按钮,然后锁定屏幕。几个小时后,他们解锁设备并查看整个路径他们旅行了。
  • @SheheryarAhmed 在用户真正唤醒手机之前,您不需要更新地图。相反,请使用Core Location 来监控位置变化——即使您的应用程序没有运行,也可以收到通知。它需要做的就是将新位置添加到其数据中。当应用再次进入前台时重绘地图。
  • 当我锁定锁屏应用程序被操作系统杀死时,我仍然做了同样的事情。在 plist 我添加了 AlwaysAndWhenInUseAuthorization。我已经设置了 locationManager.requestAlwaysAuthorization()。现在有什么问题?
猜你喜欢
  • 2016-11-08
  • 1970-01-01
  • 1970-01-01
  • 2015-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-29
相关资源
最近更新 更多