首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何强制系统展示健康数据权限设置画面

如何强制系统展示健康数据权限设置画面
EN

Stack Overflow用户
提问于 2020-07-22 00:11:58
回答 1查看 207关注 0票数 0

我正在为我的应用程序开发Apple Health集成。在某种程度上,我将此代码称为

代码语言:javascript
复制
HKHealthStore().authorizationStatus(for: )

以请求用户读取健康数据的权限。问题是系统只显示一次设置页面。用户看到屏幕后,调用将立即返回。即使我卸载并重新安装应用程序,我也看不到设置屏幕。

我试图弄清楚的是,当系统显示设置屏幕时,如何测试我的应用程序是否正常运行。我怀疑这是一个问题,因为我从Crashlytics得到了奇怪的报告。

例如,有没有一个XCode构建参数,可以让我测试应用程序在一个从未见过这个应用程序的设备上的表现?

非常感谢

EN

Stack Overflow用户

发布于 2020-10-04 21:32:30

问题中的代码将检查写入权限,但不会请求它们。

这将要求权限:

代码语言:javascript
复制
healthStore.requestAuthorization(
        toShare: setOfWriteTypes,
        read: setOfReadTypes
    ) { (success, error) in
        
    }

完成块的成功将告诉您权限屏幕已显示。在应用程序在设备上存在的整个时间内,它只显示一次。

如果您想要在关闭窗口或拒绝权限后由最终用户再次启用权限,您需要以某种方式告诉用户,用户应该转到Apple Health App并手动选择要读/写的权限。

此外,您不能检查,即用户是否授予了读取权限。Apple在当前的API中不允许这样做。只允许检查写入权限(您的代码片段执行检查)。为了了解用户是否授予了读取权限,您可以简单地查询步骤(或其他所需类型),查看快照中是否有数据,如果没有,则可能是用户拒绝了读取权限或根本没有数据。

顺便说一句。如果你愿意,你可以查看我的CocoaPod https://cocoapods.org/pods/HealthKitReporter。它是HealthKit框架之上的一个包装器,使读/写变得更容易。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63018610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档