最近、Twitter のログイン、ツイート機能などを利用できる SDK、TwitterKit を触る機会があったのですが、
つい最近まで問題なく動作していたコードが突然エラーになっていたので、その解決方法をメモしておきます
開発環境
Swift: 4.0.3
Xcode: 9.2
iOS: 11.2
TwitterKit
公式のSDKで、自身が開発したアプリ内で Twitter のログイン、ツイート機能などを実装するために使用
詳しい TwitterKit を用いたログイン、ツイート機能などの実装方法は後述の参考サイトをご参照ください
※TwitterKit は2018年10月31日をもってサポート終了予定のようです
Twitter Kit SDK のサポート終了のお知らせ
今回怒られたエラー内容
TwitterKit のが提供している以下のコードから生成できるログインボタンをタップした際、
let loginButton = TWTRLogInButton(logInCompletion: { session, error in
// 何らかの処理
})
loginButton.center = self.view.center
self.view.addSubview(loginButton)
以下のようなログが出力され、ログイン画面に遷移できませんでした
Callback URL not approved for this client application.
Approved callback URLs can be adjusted in your application settings
コールバック URL が承認されていないよって怒られました
ついこの間まで問題なく使用できていたのに、、、
解決方法
2018年06月12日に認証周りの仕様変更が行われたようで、
連携アプリの設定画面で、call back URL を設定しなくてはならなくなったようです
連携アプリの設定画面を開き、Settings タブから Callbacks URLs を設定します
この時、設定するフォーマットは twitterkit-{連携アプリの Consumer Key}://
とします
ちなみに、連携アプリの Consumer Key は、Keys and Access Tokens タブから確認できます