HKObserverQuery 有以下方法支持在后台接收更新:
- initWithSampleType:predicate:updateHandler:
Run Code Online (Sandbox Code Playgroud)
该updateHandler有一个completionHandler具有以下文件:
该块传递给更新处理程序.完成处理传入数据后,必须立即调用此块.调用此块告诉HealthKit您已成功接收到后台数据.如果您不调用此块,HealthKit将继续尝试使用退避算法启动您的应用.如果您的应用无法响应三次,HealthKit会假定您的应用无法接收数据,并停止向您发送后台更新.
通过查看其他帖子,似乎围绕此处理程序存在很多混乱.以下是我对它的一些问题:
CoreBluetooth在后台使用时,它只会在后台唤醒您的应用程序10秒钟.无需调用任何处理程序或处理后台更新3次攻击.如何在XCode 6.3 beta上安装恶魔岛?
如果我运行curl -fsSL https://raw.github.com/supermarin/Alcatraz/master/Scripts/install.sh | sh
它只适用于我的非beta XCode.