当我尝试删除之前保存在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]];有没有人有同样的问题?谢谢。
发布于 2015-09-11 02:20:49
在使用某些谓词(包括您指定的谓词)时,这是deleteObjectsOfType:predicate:withCompletion:的一个已知问题。您所描述的解决方法是适当的。正如我在评论中提到的,你应该向苹果提交一个bug。
但是,请注意,在删除对象时指定谓词[HKQuery predicateForObjectsFromSource:[HKSource defaultSource]]是不必要的。您的应用程序只能删除自己的样本,因此提供与默认来源的样本匹配的谓词是多余的。
https://stackoverflow.com/questions/32131869
复制相似问题