iOS Safari で「Login With Google」が上手く動かないのを直す

iPhone 11 Pro Max (iOS 14.4) の Safari で、「Login With Google」、いわゆる「Google アカウントでログイン」のあるページでのログインが上手く動かなかった。

いつからそうなったのか分からないのだが、Google アカウントを指定すると画面上部で読み込みバーがアニメーションを始めるのだが、そのまま固まってしまい、ページ遷移が起こらないのだ。

調べてみると、以下のページが見つかった。

Go to Settings/Safari/Advanced/Experimental Features/requestIdleCallback (it's at the bottom of the experimental features list).

Uncheck (move the button from green to gray or 'off') 'requestIdleCallback', power down and then power on your device/iPhone and you should be good to go.

Launch Safari and try to login to Google.

If you still have issues -

Log out of your accounts in Mail or Accounts

Shut down and restart and triple check to make sure 'requestIdleCallback' didn't turn itself back on. Also if you have multiple devices on the same Apple account, make sure they don't have requestIdleCallback turned on. iCloud accounts sync almost everything so it's good to make sure all devices are given the same instructions.

Open Safari and login to Google. If it works go ahead and login to your accounts again.

If you're still having difficulties:

Reset iOS device
Clear Safari cookies
Make sure all your apps are fully closed
If you own a Mac or different Apple device, try to login with that device. This may help narrow down the issue.

Google アカウントでログインできない問題は、requestIdleCallback という実験的な機能が有効化されていると発生するようだ。

ということで、対処してみる。

  1. アプリスイッチャーから、起動中の Safari などを閉じておく
  2. 「設定」アプリを開く
  3. Safari → 詳細 → Experimental Features と進む
  4. requestIdleCallback という項目が「オン」になっていると思われるので、コレを「オフ」にする

コレで Safari を再起動して「Google でログイン」を試してみよう。

それでも上手く行かないままだったら、「設定」→「Safari」→「履歴と Web サイトデータを消去」で Cookie などの全てのデータを一度消去してみる。また、iOS 自体の電源オフ → 再起動も試してみる。

履歴などを削除すると初回ログインからやり直しになるが、自分はコレで問題を解消できた。