Twitter
iOS
TwitterAPI
Swift
TwitterKit

TwitterKit で Callback URL not approved っておこられた話

最近、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}:// とします
スクリーンショット 2018-06-14 0.08.40.png

ちなみに、連携アプリの Consumer Key は、Keys and Access Tokens タブから確認できます

参考させていただいたサイト

[iOS 11] Social.framework廃止に伴い、アプリにTwitter機能を実装する方法