使用 Twitter 登录总是 return 错误

Login with twitter always return error

我正在尝试使用 Twitter 添加登录名,但我无法获得响应。每次我收到错误消息(获取用户授权令牌时出错)。我知道有很多 SO post 有这个问题,但我无法登录。我也尝试 advance setting 但我的会话为零。我还重新生成了消费者密钥和秘密,但没有成功。使用 swift 3.0

这是我的代码

TWTRTwitter.sharedInstance().logIn(with: self) { (session, error) in
     if (session != nil) {
     print("signed in as \(session?.userName ?? "")");
            } else {
                print("error: \(error?.localizedDescription ?? "")");
            }
     }

info.plist

Appdelegate

 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        _ = DBSingleton.sharedInstance
        TWTRTwitter.sharedInstance().start(withConsumerKey:TwitterKey.consumerKey, consumerSecret:TwitterKey.consumerSecret)
}

更新: 如果我们有应用程序那么它工作正常但如果没有那么它 return 错误。

经过大量的研发,我获得了成功。 Twitter 已强制回叫 url。我从这个 link

中发现

您需要在 twitter 控制面板设置的回调 url 中添加 twitterkit-xxxxxxxxxxxxxxxx (twitterkit-consumer key)。

我用这个方法打开safari(确保你添加了safari框架)

TWTRTwitter.sharedInstance().logIn(with: self) { (session, error) in
            if (session != nil) {
                print("signed in as \(session?.userName ?? "")");
            } else {
                print("error: \(error?.localizedDescription ?? "")");
            }
        }