2015-02-23 52 views
2

我想請求用戶的Twitter郵件。在https://dev.twitter.com/twitter-kit/ios/request-email上,我們可以看到Obj-C中的代碼,但我在Swift中需要它,而我無法翻譯它。有誰知道如何,請嗎?在Swift中請求TWTRShareEmailViewController(Fabric Twitter SDK)的用戶Twitter郵件

這裏的對象 - 代碼:

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) 
} 

感謝您的幫助。

+0

做你把看這個http://www.ioscreator.com/tutorials/twitter-tutorial-ios8-swift – 2015-02-23 17:32:53

+0

謝謝回答,但它是一個使用社交框架的教程,我正在使用Fabric。這不是要獲取用戶的郵件,而是要用圖片寫推文。 – 2015-02-23 18:01:35

回答

4

這應該上述Objective-C的大致翻譯成斯威夫特:

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") 
    } 
+0

我認爲它的工作原理!它返回一個錯誤,但代碼工作。我想現在所做的一切都是通過Twitter列入白名單。謝謝! – 2015-02-24 09:25:35

+0

我有同樣的問題。它返回了一個錯誤,表明我必須爲我的應用程序獲得適當的授權設置。祝你好運! – 2015-02-24 16:59:06