【发布时间】:2016-01-24 09:53:11
【问题描述】:
我正在尝试使用 swift 2 获取 Twitter 个人资料图片。
这个链接描述了它是如何为 swift 完成的: Getting Twitter profile image with Parse in Swift
但问题是 NSURLConnection 现在已弃用并由 NSURLSession 替换。 PFTwitterUtils.twitter()?.signRequest 需要 NSMutableURLRequest,但从提到的替换同步请求的方法中,我得到了 NSURLRequest。如何使代码工作?
我尝试编写此代码以使其正常工作,但被难住了:
if PFTwitterUtils.isLinkedWithUser(PFUser.currentUser()!) {
let screenName = PFTwitterUtils.twitter()?.screenName!
let requestString = NSURL(string: "https://api.twitter.com/1.1/users/show.json?screen_name=" + screenName!)
let request = NSURLRequest(URL: requestString!, cachePolicy: .ReloadIgnoringLocalAndRemoteCacheData, timeoutInterval: 5.0)
PFTwitterUtils.twitter()?.signRequest(request)
var response: NSURLResponse?
var error: NSError?
let session = NSURLSession.sharedSession()
session.dataTaskWithRequest(request, completionHandler: {(data, response, error) in
print(data)
print(response)
print(error)
}).resume()
if error == nil {
let result = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.AllowFragments, error: &error)
let names: String! = result?.objectForKey("name") as! String
let separatedNames: [String] = names.componentsSeparatedByString(" ")
//self.firstName = separatedNames.first!
//self.lastName = separatedNames.last!
let urlString = result?.objectForKey("profile_image_url_https") as! String
let hiResUrlString = urlString.stringByReplacingOccurrencesOfString("_normal", withString: "", options: NSStringCompareOptions.LiteralSearch, range: nil)
let twitterPhotoUrl = NSURL(string: hiResUrlString)
let imageData = NSData(contentsOfURL: twitterPhotoUrl!)
let twitterImage: UIImage! = UIImage(data:imageData!)
}
【问题讨论】:
标签: ios swift twitter parse-platform