gpt4 book ai didi

ios - 我可以在后台收听 CMPedometer 并根据不同情况发送本地推送通知吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:59:14 24 4
gpt4 key购买 nike

这是一个 iOS 问题。

我想做的是在应用程序处于后台时收听内置计步器 (CMPedometer)。当计步器事件发生变化(从“步行”到“运行”再到“不动”等)时,我希望可以选择向用户的设备发送本地推送通知。

例如,应用程序位于后台。当我开始移动时,我收到一条推送通知,“你在移动!”当我停止移动时,我会收到一条推送通知,“你已经停止移动了!”

目前,我已经为我的后台模式设置了“位置更新”。该应用程序将在后台运行约 15 分钟并跟踪位置并执行我想要的操作(计步器数据更改时触发推送通知)。但 15 分钟后,它完全停止了。

我所描述的在设备上是否可行?如果是这样,应用程序在 15 分钟后超时,我做错了什么?

很高兴提供更多细节,但我不想让这个已经很长的问题过载!

最佳答案

当您的应用被暂停时,无法获得实时事件更新。

如果您想跟踪用户的事件,如步行、运行等,请使用 CMMotionActivityManager

Motion data reflects whether the user is walking, running, in a vehicle, or stationary for periods of time.

根据Documentation :

应用程序暂停时不会传递更新,应用程序可以使用 queryActivityStartingFromDate:toDate:toQueue:withHandler: 获取应用程序暂停时的事件。

因此,在后台跟踪用户事件的最佳方式是使用后台抓取,并将抓取间隔设置为最小值。

UIApplication.sharedApplication().setMinimumBackgroundFetchInterval(UIApplicationBackgroundFetchIntervalMinimum)

关于ios - 我可以在后台收听 CMPedometer 并根据不同情况发送本地推送通知吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28072009/

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