我正在尝试在iOS上的Swift的WKWebViews中加载一些嵌入式推文。由于不再支持本机Twitter SDK,因此我使用Twitter oembed API(https://developer.twitter.com/en/docs/twitter-for-websites/embedded-tweets/overview.html)获得html内容。 有时,该推文无法完全加载,有时可以:
如您在此屏幕截图中所见,第一个tweet不会加载图像,按钮,字体...但是第二个tweet可以成功加载。
我曾尝试在队列中一个一个地加载推文,因为我认为同时加载所有推文是个问题……但不幸的是没有成功。
我得到这样的tweet HTML:
func getEmbeddedTweet(url: String, completion: @escaping (_ html: String?) -> Void) -> Void {
let twitterUrl = "https://publish.twitter.com/oembed?hide_thread=true&url="+url
Alamofire.request(twitterUrl).responseJSON { response in
switch response.result {
case .success(let JSON):
if let response = JSON as? NSDictionary, let html = response.object(forKey: "html") as? String {
completion(html)
}
case .failure(_):
completion(nil)
}
}
}
我像这样简单地加载它:
self.webView!.loadHTMLString(html, baseURL: nil)
我希望每条推文都能正确加载。 有人以前曾经遇到过这个问题吗?谢谢!