ResearchKit Fitness Step-后台运行时计时器停止

时间:2018-09-18 23:49:17

标签: ios researchkit

我试图在应用程序中整合一些ResearchKit活动,并希望能够使用Fitness Active Task,但是如果iPhone进入锁定屏幕,时间似乎就停止了。

是否需要设置一些配置才能使此任务正常运行?

我为后台任务(包括位置,音频等)启用了该应用程序,但如果将“健身任务”持续时间设置为10分钟,则当iPhone锁定屏幕打开时,计时器似乎会停止。

我认为该应用会由于位置数据而保持清醒状态,但事实并非如此。

我在这里错过了什么吗?

我有一个不同的应用程序,该应用程序使用GPS获取位置数据,并且该应用程序在后台连续运行了多个小时(> 12小时),并且似乎从未被iOS终止。

我将做更多测试,但是如果应用程序处于后台运行,Fitness Task计时器将停滞不前-这基本上不符合目的,这令人惊讶,因为ResearchKit似乎是Apple发行的。

编辑:

查看ResearchKit的源代码后,我发现了以下内容:

  1. CLLocationManager未设置为在后台运行

    self.locationManager.allowsBackgroundLocationUpdates = YES;

  2. 手机锁定时,AVAudioSession不会播放声音

    if(![session setCategory:AVAudioSessionCategoryPlayAndRecord                   withOptions:AVAudioSessionCategoryOptionDuckOthers | AVAudioSessionCategoryOptionInterruptSpokenAudioAndMixWithOthers | AVAudioSessionCategoryOptionAllowBluetooth // [。duckOthers,.interruptSpokenAudioAndMixWithOthers,.allowBluetooth]                         错误:&错误]){         成功=否;         ORK_Log_Warning(@“无法启动音频会话:%@”,错误);     }

0 个答案:

没有答案