内容
Twitterアカウントでのログインを可能にしているアプリで、Twitterアプリのバージョンを 9.54.0-release.0
の場合に
認証トークンを取得できずにログインできなくなる。
対応
Twitterアプリのバージョンを 9.54.1-release.0
にアップデートする。
感想
Twitter Kit for Android を使っていると、「Sign in with Twitter」ボタンを押下した際に、 端末にTwitterアプリがインストールされていればそれ(具体的にはSingleSignOnActivity)を起動してログインし、 インストールされていない場合はWebView(OAuthActivity)が起動してTwitterのログイン画面が表示され、そこからログインする仕組みになっている。 今回のケースではonActivityResultでintent.dataの中身がすべてnullが返るようになっていた。 アップデートで解消されたということはTwitterアプリ側のバグという扱いらしい。
ただ、SingleSignOnActivityを呼べばTwitterからログインできるのはTwitter Kit for Android(既にサポート切れ)がそれを呼ぶように作られているからなのか、 Twitterが公式サポートとして意図的にその機能を提供しているのかが定かではないし、ドキュメントも存在しない。 アプリ経由でログインできた方がUI的には便利なのでこのまま使えるようにしておいて欲しいのだが、どうなることやら。 今回のような思わぬトラブルを避けるためにはWebView経由でのログインに移行しておいた方が無難という考え方もある。