当前位置: 代码迷 >> 综合 >> iOS12 使用HealthKit, HKHealthStore崩溃闪退问题
  详细解决方案

iOS12 使用HealthKit, HKHealthStore崩溃闪退问题

热度:54   发布时间:2023-12-17 02:52:49.0
1.最近运行老程序,有段代码获取苹果健康数据,莫名其妙的闪退了,看crash原因是*** Terminating app due to uncaught exception ‘NSInvalidArgumentException’, reason: ‘NSHealthShareUsageDescription must be set in the app’s Info.plist in order to request read authorization for the following types: HKQuantityTypeIdentifierStepCount’

看原因是权限字段未在info.plist中配置,忙去翻plist文件看,记得原来一直配置的好好的字段都在
Privacy - Health Share Usage Description
Privacy - Health Update Usage Description
懵逼中…

2.寻找解决办法

试试问题万能解决大法—重启Xcode,依然无果
那用排除法,老代码新问题,先去甩锅给系统,看系统更新设置啥的问题…
想起最近更新了ios12和Xcode10,找了个ios11的机器跑了代码试了下,果然没问题.
一边自己试验各种办法,一边baidu,google找方法,结果大多都是老的帖子讲添加权限字段在info里就好.
最后,翻到jinrui_w简书帖子将info.plist中权限描述,改为英语才好使屏幕快照 2018-10-26 下午7.22.21.png
注意:貌似随便写英语也不好使,我试过要包含visit read "health"才好使
目前按此方法已解决,如有更好的办法,请指正
参考 :https://www.jianshu.com/p/0bd210adcf40