OGeek|极客世界-中国程序员成长平台

标题: iOS 9 删除 HealthKit 中的数据 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 09:59
标题: iOS 9 删除 HealthKit 中的数据

当我尝试删除之前保存在 HealthKit 中的一些记录时,如果我使用 -deleteObjectsOfType:predicate:withCompletion: 会出错。错误说:

Error Domain=NSCocoaErrorDomain Code=4097 "connection to service named com.apple.healthd.server" UserInfo={NSDebugDescription=connection to service named com.apple.healthd.server}

但是如果我首先使用相同的类型和谓词查询记录,然后使用 -deleteObjects:withCompletion: 删除返回的样本。它有效。

如果有帮助,这里是类型和谓词:

HKCategoryType *type = [HKCategoryType categoryTypeForIdentifier:HKCategoryTypeIdentifierMenstrualFlow];
NSPredicate *predicate = [HKQuery predicateForObjectsFromSource:[HKSource defaultSource]];

有人遇到过同样的问题吗?谢谢。



Best Answer-推荐答案


这是使用某些谓词(包括您指定的谓词)时 deleteObjectsOfType:predicate:withCompletion: 的一个已知问题。您描述的解决方法是合适的。正如我在评论中提到的,您应该向 Apple 提交错误。

但请注意,删除对象时不需要指定谓词[HKQuery predicateForObjectsFromSource:[HKSource defaultSource]]。您的应用只能删除自己的样本,因此提供与默认源中的样本匹配的谓词是多余的。

关于iOS 9 删除 HealthKit 中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32131869/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4