我们正在开发一个健身之旅应用程序,该应用程序使用HealthKit将锻炼从其他应用程序导入到我们自己的应用程序中。
大多数用户只需要提供阅读权限。但在将来,有些人可能希望将我们的应用程序写入权限添加到他们的健康应用程序中。
是否可以通过两个步骤申请权限?目标是不要通过询问大量信息来压倒用户。
答案 0 :(得分:3)
第一个问题:
是的,只需在需要时请求更多权限,并提示用户。尽可能多的步骤。
写权限:
以后添加它们没问题。
iOS 10
不用再考虑了。
感谢Alan
至iOS 9.3
但它对你没有帮助:你可以在hk数据库中编写锻炼和积极的能量。但是,当您将它们保存在iPhone上时,Apples Activity App不会显示锻炼和活动能量样本。
由于普通用户使用活动应用,因此就像他们的应用不起作用一样。即使它确实如此。
(使用iOS 9.0 ... 9.3测试)
<强> P.S。强>
Apple禁止写入运动时间和停留时间。
如果您尝试,授权会在没有消息的情况下崩溃。
所以你不能为绿色或蓝色戒指做贡献。
测试我是否正确并在需要时提交错误报告。
答案 1 :(得分:0)
是的,你可以做到这一点,没有任何重大问题。一个小问题,描述您想要访问的原因的文本来自您的Info.plist文件,因此是硬编码的。虽然共享(阅读)和更新(写入)有单独的密钥,但内容将需要适用于所有场景。
例如,如果您首先要求共享步骤,然后再要求分享心率,则两种情况下都会显示Info.plist中的单个NSHealthShareUsageDescription键。
另请注意,iOS 10 SDK需要这些密钥,因此您需要提供适用于这两种方案的单一措辞,而不会让用户感到困惑。