菜鸟教程小白 发表于 2022-12-12 19:11:35

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


                                            <p><p>我尝试获得授权以保存 <code>HKQuantityTypeIdentifierBodyMass:</code> 和 <code>HKCharacteristicTypeIdentifierDateOfBirth</code> 类型的样本</p>

<p>我的代码是,</p>

<pre><code>NSArray *readTypes = @[[HKObjectType   
    characteristicTypeForIdentifier:HKCharacteristicTypeIdentifierDateOfBirth]];

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


    readTypes: completion:nil];
</code></pre>

<p>当我运行这段代码时,我得到了异常:</p>

<blockquote>
<p>Terminating app due to uncaught exception &#39;NSInvalidArgumentException&#39;, reason: &#39;Authorization to share the following types is disallowed: HKCharacteristicTypeIdentifierDateOfBirth’.</p>
</blockquote>

<p>我在 <code>iOS 9.2</code> 和 <code>Xcode 7.2</code> 中运行。任何帮助表示赞赏。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>根据 <a href="https://developer.apple.com/library/ios/documentation/HealthKit/Reference/HKHealthStore_Class/#//apple_ref/occ/instm/HKHealthStore/requestAuthorizationToShareTypes:readTypes:completion:" rel="noreferrer noopener nofollow">requestAuthorizationToShareTypes</a> 的文档</p>

<p>typesToShare 包括一个包含您要共享的数据类型的集合。该集合可以包含 <code>HKSampleType</code> 类</p> 的任何具体子类

<p>typesToRead 包括一个包含您要读取的数据类型的集合。该集合可以包含 <code>HKObjectType</code> 类</p> 的任何具体子类

<p>所以在你的情况下,</p>

<pre><code>NSArray *readTypes = @[[HKObjectType   
    characteristicTypeForIdentifier:HKCharacteristicTypeIdentifierDateOfBirth]];

NSArray *writeTypes = @[[HKObjectType
    quantityTypeForIdentifier:HKQuantityTypeIdentifierBodyMass]];
</code></pre>

<p>要么尝试,</p>

<pre><code>
    readTypes: completion:nil];
</code></pre>

<p>或者试试</p>

<pre><code>NSArray *readTypes = @[[HKObjectType   
    characteristicTypeForIdentifier:HKCharacteristicTypeIdentifierDateOfBirth], [HKObjectType
    quantityTypeForIdentifier:HKQuantityTypeIdentifierBodyMass]];
[self.healthStore requestAuthorizationToShareTypes:nil
    readTypes: completion:nil];
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何在 iOS 的 HealthKit 中保存 HKQuantityTypeIdentifierBodyMass 类型的样本,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/36326003/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/36326003/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何在 iOS 的 HealthKit 中保存 HKQuantityTypeIdentifierBodyMass 类型的样本