iOS12 使用HealthKit, HKHealthStore崩潰閃退問題
阿新 • • 發佈:2018-12-17
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中許可權描述,改為英語才好使 注意:貌似隨便寫英語也不好使,我試過要包含visit read "health"才好使 目前按此方法已解決,如有更好的辦法,請指正 參考 :https://www.jianshu.com/p/0bd210adcf40