【问题标题】:HealthKit requestAuthorizationToShareTypes once per day?HealthKit requestAuthorizationToShareTypes 每天一次?
【发布时间】:2014-10-28 22:34:20
【问题描述】:

我试图在我的应用程序设置中使用苹果的 HealthKit 授权模式,以允许用户打开/关闭他们的信息以进行共享。它会自动弹出授权屏幕。然而,它似乎只做一次,然后再也不做。可能至少要等到 24 小时后,如果需要它会再次提示。

这是否意味着类似于 PushMessage 请求,其中用户被提示一次,然后不再从同一个请求中再次提示?

我对在应用程序的初始加载中添加此模式提示持怀疑态度,因为它作为全屏模式非常具有侵入性;即使只调用一次。

【问题讨论】:

  • afaik,requestAuthorization* 样式的方法不会请求您是否已获得授权。如果您在之前授权后仍然提示用户,您应该先致电authorizationStatusForType:,以确定您没有授权,然后再提示。

标签: ios authorization healthkit


【解决方案1】:

基本上用户假设只看到一次(如要求授予推送通知权限或访问联系人时)。

我发现,对于您想要与 Health 应用程序共享(或读取)的每种数据类型,您都可以使用模态提示进行一次操作。这个提示对用户来说可能有点乏味,因为它显示了您的应用程序请求权限的全部类型(读取和写入),我认为这就是为什么 Apple 说 HealthKit 的最佳实践是询问您的应用程序需要的全部权限同时(尽管有些人可能会在 UX 问题上对此提出异议)。

如果您希望忽略 Apple 对此最佳做法的建议,您可以分别请求每个数据类型的读/写权限 - 这样做会导致每次您请求不同类型的权限时都会提示该模式表。

最重要的是,此权限表意味着(Apple)向用户显示一次。您可以找到一种方法来通过该限制(但次数有限 - 取决于可用数据类型的数量),但我不建议绕过 Apple 的指南(这绝不是一个好主意)。

【讨论】:

    【解决方案2】:

    一个技巧是在你的授权中修改Share/write类型,这将需要用户再次查看它,因此每次都会弹出它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-23
      • 2015-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多