从Fabric Swift使用Twitter SDK登录后获取帐户
我需要一种方法来获取从Fabric Swift使用Twitter SDK登录后获取帐户,twitter,swift2,twitter-fabric,acaccount,Twitter,Swift2,Twitter Fabric,Acaccount,我需要一种方法来获取ACAccount,该帐户是由Fabric提供的Twitter SDK在登录时创建或获取的: Twitter.sharedInstance().logInWithCompletion { (session: TWTRSession?, error: NSError?) -> Void in if let userSession = session { } else { } } 我需要这个帐户,在后台发布时使用SLRequest。没有帐
ACAccount
,该帐户是由Fabric
提供的Twitter SDK
在登录时创建或获取的:
Twitter.sharedInstance().logInWithCompletion { (session: TWTRSession?, error: NSError?) -> Void in
if let userSession = session {
}
else {
}
}
我需要这个帐户,在后台发布时使用
SLRequest
。没有帐户
不起作用。如果您已经在使用Twitter SDK,则无需再处理account
只需按照他们的指示,您就可以手动生成请求:
以下是为Swift 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)")
}
}
}
}
完美的解决方案!谢谢,但我想使用更快的Twitter库,因为它使rest API的处理更容易接受。但是,Swifter需要一个帐户来初始化Swifter对象。如何使用Twitter sharedInstance会话创建ACAccount对象?看起来,尽管Twitter文档说iOS 11不支持iOS的社交框架,但我的测试表明它仍然支持,没有任何问题(不知道如何或为什么)。