仕事でTwitter認証をサポートしたアプリを開発していますが、その認証処理に使われていたライブラリがとても古く、あっちこっち警告出しまくっていたので入れ替えることになりました。
いろいろ考えた結果、小さなライブラリを新しく起こしました。SimpleTwitterAuthenticationと、そのものズバリな名前のライブラリです。
実のところ、入れ替え先のライブラリを検討したのですが、公式のTwitterKitを使うとTwitterアプリがあれば飛んで、専用のOAuth画面を出してくれるようになっています。しかし、既にdiscontinuing support
と書かれているし、認証のためだけに大型のライブラリを入れるのはビルド時間も延びるのでよろしくない。
このライブラリはTwitterKitのソースを見て同様の処理を実装し、端末にTwitterアプリがあればTwitterアプリに遷移しますし、なければiOSバージョンごとに適切な認証用ViewController(ASWebAuthenticationSession/SFAuthenticationSession/SFSafariViewController)を起動して認証するようになっています。認証に必要な処理だけ書いているので1ファイルのみのシンプルなライブラリになっています。
使い方はこんな感じ
- Twitterへアプリを登録し、Consumer Key/Consumer Secretを得る。Developer Consoleにアプリのコールバック用URLスキームを登録しておきます(任意のものを決めてOK)
- SimpleTwitterAuthenticationをインストール。(CocoaPodsから入手できます)
- Info.plistに1.で登録したURLスキームで起動できるようURL Typesに設定
TwitterAuthentication.authenticate(completionHandler:)
で認証処理。AppDelegateのapplication(_:open:options:)
からTwitterAuthentication.handleOpen(_:options:)
を呼び出す処理を記述してください
良さそうと思ったらスターいただけるとうれしいです!
このライブラリは最新版のピリカに組み込まれています。 ピリカを通すと楽しくごみ拾いできますよ。ぜひ使ってみてください。