HealthKitの認証確認画面が出なくなった話
iOS11では動いていたのにiOS12にしたらいきなり動かなくなって、詰みかけたのでメモしておきます。
現象
iOS11でHealthKitで心拍数の読み出しを実装していたのですが、iOS12にアップデートした後にアプリを起動するとすぐ落ちる、または認証確認が出ないといった問題が起こりました。
原因はHealthKitのinfo.plist
あくまで私の環境の場合ですので解決方法の一因程度に考えておいてください。
iOS11のとき info.plist の "Privacy - Health Share Usage Description" に適当な短い説明を付けていました。
iOS12ではこの説明文が短すぎると認証確認できないようです。
つまり info.plist の"Privacy - Health Share Usage Description"の説明に適当に長い説明 ( 例:"healthhealthhealthhealthhealthhealthhealth" ) とでも入力すると、ちゃんと認証確認が表示されました。
まとめ
iOS12では info.plistの "Privacy" の説明の文字数をある程度長くしないと認証確認画面が表示されない。
ユーザのためを考えたアップデートですね。