Twitter登录 - 已完成登录但未被重定向到我的应用程序

Ita*_*hen 3 ios twitter-fabric

正如标题所描述的那样,它坚持这个状态.我找不到搜索网络的解决方案.没有错误...使用ios swift

图片(希伯来语)附:它基本上说:"将你重定向到应用程序,可能需要一些时间......"

代码:AppDelegate -

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

    FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)

    var configureError: NSError?
    GGLContext.sharedInstance().configureWithError(&configureError)
    assert(configureError == nil, "Error configuring Google services: \(configureError)")

    Fabric.with([Twitter.self])

    return true
}


//deprecaed - for support
func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
    let directedByFB = FBSDKApplicationDelegate.sharedInstance().application(application, open: url, sourceApplication: sourceApplication, annotation: annotation)
    let directedByGoogle = GIDSignIn.sharedInstance().handle(url as URL!, sourceApplication: sourceApplication,annotation: annotation)
    return directedByFB || directedByGoogle
}


func application(application:UIApplication, openURL url: URL, options: [String: AnyObject]) -> Bool {
    if Twitter.sharedInstance().application(application, open: url, options: options) {
        return true
    }
    return GIDSignIn.sharedInstance().handle(url as URL!, sourceApplication: options[UIApplicationOpenURLOptionsKey.sourceApplication.rawValue] as? String, annotation: options[UIApplicationOpenURLOptionsKey.annotation.rawValue])
}
Run Code Online (Sandbox Code Playgroud)

SocialChooserViewController - TWTRAPIClient完成回调是被调用的..(它没有重定向回我的应用程序)

@IBAction func continueLoginWithTwitter() {
    Twitter.sharedInstance().logIn(withMethods: [.webBased]) { session, error in
        guard session != nil else {
            print("error connecting with Twitter: \(error?.localizedDescription)");
            return
        }
        self.chosenMedia = .twtr
        let client = TWTRAPIClient(userID: session!.userID)
        client.loadUser(withID: session!.userID) { (unwrappedTwtrUser, error) in
            guard let twtrUser = unwrappedTwtrUser, error == nil else {
                print("Twitter : TwTRUser is nil, or error has occured: ")
                print("Twitter error: \(error!.localizedDescription)")
                return
            }
            _ = self.user.set(firstAndFamilyName: twtrUser.name)
            self.user.set(imageURL: twtrUser.profileImageMiniURL)
            self.user.set(token: session!.authToken)
            self.performSegue(withIdentifier: "toProfileVC", sender: self)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

中学:进一步根据我的要求,我也想更改权限页面上显示的应用程序名称,该怎么做?

权限页面:

在此输入图像描述

Ita*_*hen 9

答案:在委托中有更多更新的方法,Twitter正在调用已弃用的方法(如上所示)但我实际上并没有在内部处理twitter - 所以没有一切都在更新的方法下并且工作得很好并且有条理:

func application(_ application:UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey: Any]) -> Bool {
    print("called")
    let directedByFB = FBSDKApplicationDelegate.sharedInstance().application(application, open: url, options: options)
    let directedByTWTR =  Twitter.sharedInstance().application(application, open: url, options: options)
    let directedByGGL =  GIDSignIn.sharedInstance().handle(url as URL!, sourceApplication: options[UIApplicationOpenURLOptionsKey.sourceApplication] as? String, annotation: options[UIApplicationOpenURLOptionsKey.annotation])
    return directedByGGL || directedByTWTR || directedByFB
}
Run Code Online (Sandbox Code Playgroud)