gpt4 book ai didi

iOS 企业应用程序 - 如何确保我的应用程序在后台运行?

转载 作者:可可西里 更新时间:2023-11-01 04:28:40 25 4
gpt4 key购买 nike

首先需要注意的是,我正在开发一个企业应用程序,因此不需要 App Store 指南\审批注意事项。

我的目标是:

1) 一款用户只能打开一次的 iPhone 应用程序。在此期间,他将完成一些注册过程。

2) 一旦第 (1) 步完成(通过应用暂停或应用关闭),应用应每小时(或多或少)“唤醒”一次,并从后台向服务器发送一些有关用户的数据(所有当然是在用户协议(protocol)的情况下完成的)。

我尝试过的可选解决方案:

我在 https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html 中非常仔细地阅读了关于在后台运行的 Apple 指南

我决定使用 2 种 UIBackgroundModes:

  • 地点
  • 获取

1) 对于我使用的位置:

If you leave the significant-change location service running and your iOS app is subsequently suspended or terminated, the service automatically wakes up your app when new location data arrives.

2) 对于后台获取我使用

performFetchWithCompletionHandler()

UIApplication.sharedApplication().setMinimumBackgroundFetchInterval(UIApplicationBackgroundFetchIntervalMinimum);

由于某种原因,该应用程序在 24 小时后未在后台运行。这意味着该应用程序永远不会再次“唤醒”,即使根据 Apple 指南,无论何时发生重大位置更新 - 它都应该唤醒。

我该怎么做才能尽可能保证我的应用在后台正常运行?

最佳答案

在您的项目属性中,您必须允许您的应用程序使用后台模式来更新位置和后台获取。

后台获取并不像看起来那么容易。iOS 将自行定义在后台模式下获取数据的频率,即使您设置了每 15 分钟的选项:(正如我的实践所示,如果用户不时打开应用程序,获取新数据的时间间隔会更短,因此 iOS 会对正常的应用程序使用情况进行一些计算。因此,应用会根据应用使用情况调用后台获取数据。

但是你可以使用一个技巧:您可以从您的位置过程中调用获取过程。对于数据交换,它在我的项目中很有用:)

关于iOS 企业应用程序 - 如何确保我的应用程序在后台运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35987366/

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