2015-10-08 33 views
1

我需要一種方式來獲得被創建,或由Fabric提供同時登錄同Twitter SDK採取ACAccount獲取ACAccount從面料斯威夫特與Twitter SDK登錄後

Twitter.sharedInstance().logInWithCompletion { (session: TWTRSession?, error: NSError?) -> Void in 
    if let userSession = session { 
    } 
    else { 
    } 
} 

我需要這個賬戶,使用時與SLRequest在後臺發佈。沒有account不起作用。

回答

2

如果您已經使用Twitter SDK,則無需再處理ACAccount。

只要按照他們的指示,並且可以手動建立一個請求: Build TW Request manually

下面是該代碼更新的斯威夫特2:

if let userID = Twitter.sharedInstance().sessionStore.session()?.userID { 
    let client = TWTRAPIClient(userID: userID) 

    let statusesShowEndpoint = "https://api.twitter.com/1.1/statuses/update.json" 
    var clientError : NSError? 

    let request     = client.URLRequestWithMethod("POST", URL: statusesShowEndpoint, parameters: dictMessage, error: &clientError) 

    if let err = clientError { 
     print("Error: \(err)") 
    } 
    else { 
     client.sendTwitterRequest(request) { (response, data, connectionError) -> Void in 
      if (connectionError == nil) { 
       do { 
        if let dictTWData = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.AllowFragments) as? [String: AnyObject] { 
         print("\(dictTWData)") 
        } 
       } 
       catch _ as NSError { 

       } 
       catch { 
        fatalError() 
       } 
      } 
      else { 
       print("Error: \(connectionError)") 
      } 
     } 
     } 
} 
+0

完美的解決方案!謝謝 – Bonnke

+0

但是,我想使用Swifter Twitter庫,因爲它使得處理其他API更容易。然而,Swifter需要ACAccount來初始化Swifter對象。如何使用Twitter sharedInstance會話創建一個ACAccount對象?看起來,即使Twitter文檔說iOS 11不支持iOS的Social Framework,但我的測試表明它仍然支持沒有任何問題(不知道如何或爲什麼)。 – Annjawn