ios - 如何检查状态是否已授予 HealthKit 权限
问题描述
我想检查 HeathKit 是否被授权让我读取用户的数据,如果我被授权继续锻炼,如果没有弹出警报。但是 requestAuthorizationToShareTypes 似乎总是返回 true?如何获得用户是否授权我的参考?
解决方案
您无法确定用户是否具有授权访问权限
从文档
为了帮助保护用户的隐私,您的应用不知道用户是授予还是拒绝了从 HealthKit 读取数据的权限。如果用户拒绝许可,则尝试从 HealthKit 查询数据仅返回您的应用成功保存到 HealthKit 商店的样本。
您可以查询以确定用户是否已响应访问一组健康工具包类型的请求。如果你得到HKAuthorizationRequestStatusUnnecessary
了,那么你已经请求了许可。如果你得到HKAuthorizationRequestStatusShouldRequest
你应该请求许可。
如果您查询锻炼但没有得到任何锻炼,您应该显示一条消息,指示未找到锻炼,因为用户没有创建任何锻炼项目,或者他们需要检查权限以及在设置应用程序中检查权限的说明。
推荐阅读
- html - 输入有效时添加 CSS - CSS Challenge
- python - Lambda 截断前几个字符
- python - add_datepart() 产生 KeyError
- c++ - 如何将属性传递给另一个类的方法
- python - Python Multindex - 如何在仅将时间作为索引的数据框中创建分层多索引?
- c++ - 使用 std::chrono::from_stream() 解析时间格式“DD/MM/YYYY at hh:mm:ss”和其他格式
- python - 使用 Python 将 pdf 提取解析为 csv 文件
- typescript - TabPanel 组件中的 MUI v5 sx 道具类型错误
- sql - 您将如何创建对具有元组作为 SQL 中的主键的表的引用?
- java - 肥皂网络服务返回自定义标头弹簧启动