我尝试用Twitter添加登录名,但是有些方法无法获得响应。每次收到错误消息(获取用户身份验证令牌时出错)。我知道有很多SO帖子都存在此问题,但我无法登录。我也尝试了advance setting,但是没有会话。我还重新生成了用户密钥和Secret,但没有运气。使用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)
}
更新: 如果我们有应用程序,那么它可以正常工作,但是如果没有,则返回错误。
答案 0 :(得分:3)
经过大量的研发,我获得了成功。 Twitter已强制要求回调网址。我从这个link
找到了您需要在twitter仪表板设置的回叫URL中添加twitterkit-xxxxxxxxxxxxxxxx(twitterkit-消费者密钥)。
我使用这种方法来打开safari(确保您添加了safari框架)
TWTRTwitter.sharedInstance().logIn(with: self) { (session, error) in
if (session != nil) {
print("signed in as \(session?.userName ?? "")");
} else {
print("error: \(error?.localizedDescription ?? "")");
}
}