You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xcode 16自动生成Info.plist致HealthKit授权崩溃,求解决方案

解决自动生成Info.plist下HealthKit授权描述崩溃问题

崩溃原因

崩溃日志明确说明,请求HKQuantityTypeIdentifierStepCount的写权限时,Info.plist中缺少有效的NSHealthUpdateUsageDescription字符串——这是iOS强制要求的隐私授权描述必填项,未设置或设置无效值会直接触发崩溃。

解决方案

方法1:通过Xcode Info面板直接配置

  1. 选中项目目标(Target),切换到Info标签页
  2. 找到Custom iOS Target Properties区域,若已有NSHealthUpdateUsageDescription键则直接编辑值;若没有,点击+号添加该键,类型选择String
  3. 填写真实有效的描述文本,例如“记录您的步数数据,用于统计每日活动量”
  4. 重新编译项目,Xcode会自动将配置同步到自动生成的Info.plist中

方法2:修改Build Settings的User-Defined项

  1. 选中项目目标,切换到Build Settings标签页
  2. 在搜索框输入NSHealthUpdateUsageDescription,定位到对应的User-Defined配置项
  3. 若当前值为空或无效,直接修改为合法的描述字符串;若项为灰色不可编辑,右键选择Edit Settings后再输入内容
  4. 编译项目即可生效

方法3:手动编辑项目配置文件(进阶)

如果前两种方法无效,可直接修改项目的.pbxproj文件:

  1. 右键项目文件,选择Show Package Contents,找到project.pbxproj并打开
  2. 搜索NSHealthUpdateUsageDescription,找到对应的USER_DEFINED条目
  3. 将其值修改为有效描述,示例:
    NSHealthUpdateUsageDescription = "记录您的步数数据,用于统计每日活动量";
    
  4. 保存文件后回到Xcode,重新编译项目

注意事项

  • 描述文本必须真实反映应用使用HealthKit数据的用途,苹果审核会检查该内容的合理性
  • 无需改用手动Info.plist,上述方法均会保留自动生成配置中的原有必要项,仅覆盖目标键值

内容的提问来源于stack exchange,提问作者iOS_girlie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 02:22:37