gpt4 book ai didi

ios - 如何在 iOS 的 HealthKit 中保存 HKQuantityTypeIdentifierBodyMass 类型的样本

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:54:03 24 4
gpt4 key购买 nike

我尝试获得授权以保存类型为 HKQuantityTypeIdentifierBodyMass:HKCharacteristicTypeIdentifierDateOfBirth

的样本

我的代码是,

NSArray *readTypes = @[[HKObjectType   
characteristicTypeForIdentifier:HKCharacteristicTypeIdentifierDateOfBirth]];

NSArray *writeTypes = @[[HKObjectType
quantityTypeForIdentifier:HKQuantityTypeIdentifierBodyMass]];

[self.healthStore requestAuthorizationToShareTypes:[NSSet setWithArray:readTypes]
readTypes:[NSSet setWithArray:writeTypes] completion:nil];

当我运行这段代码时,出现异常:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Authorization to share the following types is disallowed: HKCharacteristicTypeIdentifierDateOfBirth’.

我在 iOS 9.2Xcode 7.2 中运行。感谢您的帮助。

最佳答案

根据 requestAuthorizationToShareTypes 的文档

typesToShare 包括一个集合,其中包含您要共享的数据类型。该集合可以包含 HKSampleType 类的任何具体子类

typesToRead 包括一个集合,其中包含您要读取的数据类型。该集合可以包含 HKObjectType 类的任何具体子类

所以在你的情况下,

NSArray *readTypes = @[[HKObjectType   
characteristicTypeForIdentifier:HKCharacteristicTypeIdentifierDateOfBirth]];

NSArray *writeTypes = @[[HKObjectType
quantityTypeForIdentifier:HKQuantityTypeIdentifierBodyMass]];

要么试试,

[self.healthStore requestAuthorizationToShareTypes:[NSSet setWithArray:writeTypes]
readTypes:[NSSet setWithArray:readTypes] completion:nil];

或者试试

NSArray *readTypes = @[[HKObjectType   
characteristicTypeForIdentifier:HKCharacteristicTypeIdentifierDateOfBirth], [HKObjectType
quantityTypeForIdentifier:HKQuantityTypeIdentifierBodyMass]];
[self.healthStore requestAuthorizationToShareTypes:nil
readTypes:[NSSet setWithArray:readTypes] completion:nil];

关于ios - 如何在 iOS 的 HealthKit 中保存 HKQuantityTypeIdentifierBodyMass 类型的样本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36326003/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com