在 iOS 7 或更高版本中关闭应用程序时,iOS 可以执行操作吗?

Posted

技术标签:

【中文标题】在 iOS 7 或更高版本中关闭应用程序时,iOS 可以执行操作吗?【英文标题】:Can iOS perform operations when the application is closed in iOS 7 or later? 【发布时间】:2014-07-08 18:15:16 【问题描述】:

例如,找到位置并将其上传到服务器。 我需要在应用关闭时找到用户位置并将其上传到我的服务器。

【问题讨论】:

【参考方案1】:

这可以在 iOS 6.x 及以下版本中完成

当应用第一次进入后台时,调用 UIApplication 类的 beginBackgroundTaskWithExpirationHandler 方法。

这将为您的应用额外提供 10 分钟的时间 在这 10 分钟到期之前,使用 startUpdatingLocation 临时启用细粒度位置更新,然后使用 beginBackgroundTaskWithExpirationHandler 方法请求更多时间。

临时启用位置更新会神奇地重置 10 分钟的后台宽限期。因此,该应用可以在其“租约”到期之前定期续订,并无限期地在后台运行。

以下是详细的演练:

http://gooddevbaddev.wordpress.com/2013/10/22/ios-7-running-location-based-apps-in-the-background/

【讨论】:

以上是关于在 iOS 7 或更高版本中关闭应用程序时,iOS 可以执行操作吗?的主要内容,如果未能解决你的问题,请参考以下文章

ios模拟器:如何关闭应用程序

由于 tvOS 10.2 Apple TV 显示 Airplay 连接需要 iOS 7.1 或更高版本错误

在 ios 7 和 ios9+ 中关闭 ViewController 的异常行为

如何解决提交到 App Store 的应用和应用更新必须使用 Xcode 5.1.1 或更高版本以及 iOS 7 SDK 构建

在 iOS 7 SDK 中关闭 UIAlertview 后 UIView 没有响应

如何修复 - safeAreaLayoutGuide' 仅适用于 iOS 11.0 或更高版本