Hi I\'m writing a Fitness App which gets its Data from Apples Health app.
So far so good.
Problem: in Health app it is possible to make manually data entries
Swift 4:
let predicate = NSPredicate(format: "metadata.%K != YES", HKMetadataKeyWasUserEntered)
And if you have two predicates, useCompoundPredicate:
let compoundPredicate = NSCompoundPredicate(type: .and, subpredicates: [predicate1, predicate2])
Samples in HealthKit that were manually entered by the user will have have a YES value for the HKMetadataKeyWasUserEntered
metadata key. To create a predicate that matches only samples that were not user-entered, you could do use the following:
[NSPredicate predicateWithFormat:@"metadata.%K != YES", HKMetadataKeyWasUserEntered];
Note that this must be formulated as value != YES
because the value for the key could be YES, NO, or nil and nil implies NO.