iPad版Swift Playgrounds能否使用HealthKit?如何配置相关权限?
iPad端Swift Playgrounds HealthKit适配方案
支持性说明
- iPad上用Swift Playgrounds开发的独立应用完全支持HealthKit框架,你当前能正常导入框架、调用相关类和方法的表现已经验证了基础兼容性,运行时触发的权限报错只是缺少强制隐私声明导致的,不属于框架不支持的问题。
NSHealthUpdateUsageDescription配置步骤
Swift Playgrounds的Info.plist确实为自动生成,不支持直接手动编辑,通过以下方式即可完成权限配置,不需要修改plist文件:
- 打开项目能力开关:点击左上角项目名称调出设置面板,找到
Capabilities分类,打开HealthKit对应的开关,Playgrounds会自动为项目关联HealthKit的系统依赖。 - 添加权限声明常量:在项目任意一个Swift源码文件的顶层作用域(不要写在class、struct或者方法内部),直接定义对应权限的字符串常量,编译时Playgrounds会自动把这些常量注入到自动生成的Info.plist中,代码示例如下:
// 健康数据写入权限用途描述,替换为你实际的功能说明即可 let NSHealthUpdateUsageDescription = "App需要同步你的运动记录到系统健康数据库,实现和Apple Watch的数据互通" // 注意:如果需要读取健康数据,必须同时添加读取权限的描述,否则调用读取接口时同样会报错 let NSHealthShareUsageDescription = "App需要读取系统健康数据库中的相关记录,用于在手表端展示你的健康指标"
注意:权限描述的内容必须和你实际使用HealthKit的场景完全匹配,不要填写和功能无关的描述,否则后续提交App Store审核会被直接驳回。
内容的提问来源于stack exchange,提问作者Semyon
相关产品推荐
相关产品推荐

