【发布时间】:2016-06-07 16:35:56
【问题描述】:
我们正在开发一款健身旅程应用程序,该应用程序使用 HealthKit 将其他应用程序中的锻炼数据导入我们自己的应用程序。
大多数用户只需要提供读取权限。但将来有些人可能希望给我们的应用写入权限,以便将我们自己的信息添加到他们的健康应用中。
是否可以分两步请求权限?目标是不要通过询问大量信息来压倒用户。
【问题讨论】:
标签: ios iphone healthkit hkhealthstore
我们正在开发一款健身旅程应用程序,该应用程序使用 HealthKit 将其他应用程序中的锻炼数据导入我们自己的应用程序。
大多数用户只需要提供读取权限。但将来有些人可能希望给我们的应用写入权限,以便将我们自己的信息添加到他们的健康应用中。
是否可以分两步请求权限?目标是不要通过询问大量信息来压倒用户。
【问题讨论】:
标签: ios iphone healthkit hkhealthstore
第一个问题:
是的,只要您需要更多权限并提示用户即可。尽可能多的步骤。
写权限:
以后添加它们没问题。
iOS 10
没有什么需要考虑的了。
感谢艾伦
最高至 iOS 9.3
但这对您没有帮助:您可以将锻炼和活动能量写入 hk 数据库。但是,当您将锻炼和活动能量样本保存在 iPhone 上时,Apples Activity App 不会显示它们。
由于普通用户使用活动应用程序,因此他们觉得您的应用程序无法运行。就算有。
(使用 iOS 9.0 ... 9.3 测试)
附言
Apple 禁止写作以锻炼分钟和站立时间。
如果您尝试,授权会崩溃且不显示消息。
所以你不能为绿环或蓝环做出贡献。
测试我是否正确并在需要时提交错误报告。
【讨论】:
是的,您可以在没有任何重大问题的情况下执行此操作。一个小问题,描述您为什么要访问的文本来自您的 Info.plist 文件,因此是硬编码的。虽然共享(读取)和更新(写入)都有单独的密钥,但内容需要适用于所有场景。
例如,如果您首先要求共享步数,然后要求共享心率,则在这两种情况下,您的 Info.plist 中的单个 NSHealthShareUsageDescription 键都将显示两次。
另请注意,iOS 10 SDK 需要这些密钥,因此您需要想出一个适用于两种情况的单一措辞,而不会让用户感到困惑。
【讨论】: