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