Ignore manual entries from Apple Health app as Data Source

前端 未结 2 2011
温柔的废话
温柔的废话 2020-12-20 16:51

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

相关标签:
2条回答
  • 2020-12-20 17:07

    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])
    
    0 讨论(0)
  • 2020-12-20 17:23

    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.

    0 讨论(0)
提交回复
热议问题