2014-10-08 77 views
0

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

这是否意味着与PushMessage请求类似使用,在这种情况下,用户被提示一次,然后从相同的请求再次没有提示?

我很怀疑在应用程序的初始加载中添加这种模式提示,因为它作为全屏模式相当具有侵入性;即使只被召唤过一次。

+1

afaik,'requestAuthorization *'style方法不会请求您是否已经获得授权。如果您在之前授予授权后遇到提示用户,则应先调用'authorizationStatusForType:',以确定您在提示前没有授权。 – 2014-10-08 20:25:15

回答

0

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

我已经发现,你想与健康应用程序(或阅读)分享每个数据类型,你有模式提示一枪。这个提示对用户来说可能有点乏味,因为它显示了你的应用程序要求的权限(包括读和写)的全部类型,并且我认为这就是为什么苹果说HealthKit的一个最佳实践就是要求你的应用程序需要的全部权限同时(尽管有些人可能会在用户体验方面与此争论)。

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

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

0

使用技巧是修改授权中的共享/写入类型,这将要求用户再次查看它,因此每次都会弹出它。