1. 程式人生 > >iOS12 使用HealthKit, HKHealthStore崩潰閃退問題

iOS12 使用HealthKit, HKHealthStore崩潰閃退問題

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