Twitter登录按钮创建,没有完成块



我实现了一个TWTRLoginButton,但由于某种原因,完成块没有注册/被调用,我不知道为什么这是....

登录按钮初始化:

self.twitterLoginView = TWTRLogInButton(logInCompletion: { session, error in
        if (session != nil) {
            print("signed in as (session.userName)");
        } else {
            print("error: (error.localizedDescription)");
        }
    })

点击按钮时出错:

TWTRLogInButton被创建时没有设置completionBlock

你需要让TwitterKit处理重新打开应用程序时,它从twitter重定向回来:

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
    let twtrHandled = TWTRTwitter.sharedInstance().application(app, open: url, options: options)
    return twtrHandled
}

在Code或storyboard中选取一个UIButton,然后将按钮动作赋予以下方法。

 -(IBAction)twitterLogin:(id)sender
{
    [[Twitter sharedInstance] logInWithCompletion:^(TWTRSession *session, NSError *error){
        if (session)
        {
             [[Twitter sharedInstance]ini]
             [[[Twitter sharedInstance] APIClient] loadUserWithID:[session userID]
                                                       completion:^(TWTRUser *user,
                                                                    NSError *error)
              {
                  // handle the response or error
                  if (![error isEqual:nil]) {
                      NSLog(@"Twitter info   -> user = %@ ",user.description);
                      {
                          NSMutableDictionary *dict =[[NSMutableDictionary alloc]init];
                          [dict setValue:user.userID forKey:@"id"];
                          [dict setValue:user.name forKey:@"name"];
                          [dict setValue:user.screenName forKey:@"screenName"];
                          NSLog(@"User Description is %@",dict);
                      }
                  } else {
                  }
              }];
         } else {
             NSLog(@"error: %@", [error localizedDescription]);
         }
     }];
}

最新更新