我第一次将 Twitterkit 与 firebase 一起使用,我认为我所做的一切都是应有的,但每次我尝试测试它时都会收到此错误消息。
twitterauth://authorize?consumer_key=xxxxxxxxx&consumer_secret=xxxxxxxxxxxxx&oauth_callback=twitterkit-xxxxxxxxxxx&identifier=xxxxxxxxxxxxxxx/xxxxxxxxxxx: Error Domain=NSOSStatusErrorDomain Code=-10814 "(null)" UserInfo={_LSLine=247, _LSFunction=-[_LSDOpenClient openURL:options:completionHandler:]}
2020-02-17 20:04:47.145688+0200 COOKBOOK[8823:136924] [TwitterKit] Error obtaining user auth token.
Request failed: forbidden (403)
在我的 SignInViewController 中:
var twitterSession: TWTRSession?
@objc func signinTwitter() {
TWTRTwitter.sharedInstance().logIn(with: self) { (session, error) in
if session != nil {
print(session?.userName)
}
guard let session = session else {return}
self.twitterSession = session
self.signIntoFirebaseWithTwitter()
}
}
func signIntoFirebaseWithTwitter() {
guard let twitterSession = twitterSession else {return}
let credential = TwitterAuthProvider.credential(withToken: twitterSession.authToken, secret: twitterSession.authTokenSecret)
Auth.auth().signIn(with: credential) { (user, error) in
if let error = error {
print(error)
}
}
}
在 AppDelegate 中:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
TWTRTwitter.sharedInstance().start(withConsumerKey: Services.appKey, consumerSecret: Services.appSecretKey)
return true
}
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
return TWTRTwitter.sharedInstance().application(app, open: url, options: options)
}
信息列表
我在用着:
- Xcode 11.3.1
- iOS 13.3.1