Ios safari がバグって voiceover の音声が壊れましたが治りました

ひどい目に遭ったぜ

なにが起きたのか

アルヒ、 iPhone で Safari を開きました。そしたら、 Safari がページをロードし続けて高速無限ループ状態になりました。

Voiceover を使用していると、ページを読み込むときに「カチカチ」という音がすると思うんですけど、それがもう「ダラララララララララララrうぇおf34h9gfdscv8y843h9う0s8あyでwd8r56き78いk」ってなる感じです。終わってます。

App Switcher への移動が効かないので、とりあえず画面ロックして暴走を止めます。で、このままロックを外してしまうとまた無限ループ状態になるので(経験者は語るw)、通知センターから別のアプリの通知を開いて、 Safari じゃないアプリに飛びます。最後に、 App Switcher に移動して、 Safari を3本指上スワイプで終了させます。ちなみに、これをやろうとして間違って Safari の上でダブルタップしてしまってまたあばばばばばばばばばばばってなったのは内緒です。

とりあえず上記でいったんは治まりました。もう1回 Safari を開いても大丈夫でした。だがしかし、これをやっているあいだに Voiceover の音声が壊れて、 Kyoko の圧縮版音声しか使えなくなってしまいました!

設定のなかの、アクセシビリティのなかの、Voiceover の設定のなかの、「読み上げ」のなかの、「声」を選んで、そこで「Kyoko 拡張」を選択肢ナオしても、データを消して入れ直してもう1回選んでも、戻ってくることはありませんでした。それどころか、 siri みたいなまったく違うエンジンに変更しても、声が変わらなくなってしまいました。

どうやったら治ったか

設定のなかの、アクセシビリティのなかの、Voiceover の設定のなかの、「読み上げ」のなかに、「ローターで選択可能な言語」というのがあります。ここの「日本語」の音声が Kyoko 圧縮版になってしまっていました。こっちの存在は完全に忘れていた。これを拡張版に戻したら治りました。

じつは、ローターで「言語」を選択できるんですが、「日本語」と「日本語 デフォルト」は設定が別なのです。「日本語 デフォルト」の状態でほかの言語の文字が見つかったら自動でエンジンが切り替わるけど、「日本語」のほうだと固定されるみたいな挙動の違いがあります。で、この「日本語 デフォルト」と「日本語」は見ている設定の場所が違うらしいです。

ちなみに、なんで壊れたのかはよくわかりません。私が間違ってローターの値調節をしてしまったのか(元々どっちも拡張版にしてたはずだが)、あるいは、設定が勝手に書き換わったのか、OSアップデートとかしたときに変わっていたのか。まぁ、治ったので、どっちでもいいですね!