Попросите пользователя Twitter-почту с TWTRShareEmailViewController (Fabric Twitter SDK) в Swift

Я хочу запросить почту пользователя Twitter. На https://dev.twitter.com/twitter-kit/ios/request-email мы можем видеть код в Obj-C, но мне это нужно в Swift, и я не могу его перевести. Кто-нибудь знает, как, пожалуйста?

Здесь код Obj-C:

if ([[Twitter sharedInstance] session]) {
    TWTRShareEmailViewController* shareEmailViewController =
                [[TWTRShareEmailViewController alloc]
                 initWithCompletion:^(NSString* email, NSError* error) {
        NSLog(@"Email %@, Error: %@", email, error);
    }];
    [self presentViewController:shareEmailViewController
                                            animated:YES
                                            completion:nil];
} else {
  // TODO: Handle user not signed in (e.g.
  // attempt to log in or show an alert)
}

Спасибо за помощь.

Ответ 1

Это должно примерно перевести приведенный выше Objective-C в Swift:

if (Twitter.sharedInstance().session() != nil) {
        if let shareEmailViewController = TWTRShareEmailViewController(completion: {
            (email: String!, error: NSError!) in
            if (email != nil) {
                print("\(email)")
            } else {
                print("\(error)")
            }
        }) {
            self.presentViewController(shareEmailViewController, animated: true, completion: nil)
        }
    } else {
        print("User not logged in")
    }