Tôi có xcode 9.1 với nhanh 4 và tôi không thể xác thực bằng cách sử dụng webview nữa. đây là mã của tôi:Tải lên NSURLSession/NSURLConnection HTTP không thành công trên Swift 4
import UIKit
protocol AuthViewControllerDelegate{
func getAccessToken(_ code: String)
}
class AuthViewController: UIViewController, NSURLConnectionDelegate {
@IBOutlet weak var navItem: UINavigationItem!
@IBOutlet weak var webView: UIWebView!
var delegate: AuthViewControllerDelegate?
override func viewDidLoad() {
super.viewDidLoad()
var link: "https://home.nest.com/login/oauth2?client_id=…"
if let encodeURL = link.URLEncodedString(), let url = URL(string: encodeURL) {
webView.loadRequest(URLRequest(url: url))
}
}
override var preferredStatusBarStyle : UIStatusBarStyle {
return .lightContent
}
@IBAction func CancelPressed(_ sender: UIBarButtonItem) {
self.dismiss(animated: true, completion: nil)
}
func webView(_ webView: UIWebView, shouldStartLoadWithRequest request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool {
if let url = request.url?.absoluteString, url.contains("code=") {
if let code = getQueryStringParameter(url,param: "code"){
self.dismiss(animated: true, completion: {() -> Void in
UIApplication.shared.isNetworkActivityIndicatorVisible = false
self.delegate?.getAccessToken(code)
})
}
}
return true
}
func webViewDidStartLoad(_ webView: UIWebView){
UIApplication.shared.isNetworkActivityIndicatorVisible = true
}
func webViewDidFinishLoad(_ webView: UIWebView){
UIApplication.shared.isNetworkActivityIndicatorVisible = false
}
func getQueryStringParameter(_ url: String?, param: String) -> String? {
if let url = url, let urlComponents = URLComponents(string: url), let queryItems = (urlComponents.queryItems) {
return queryItems.filter({ (item) in item.name == param }).first?.value!
}
return nil
}
}
Và đây là lỗi tôi nhận được trong nhật ký:
2017-11-07 20: 49: 30,836087 + 0000 TestApp [1851: 1.259.046] TIC TCP Conn không [32: 0x1c0365280]: 3: -9800 Err (-9800)
2017-11-07 20: 49: 30,836472 + 0000 TestApp [1851: 1.259.046] NSURLSession/NSURLConnection HTTP tải thất bại (kCFStreamErrorDomainSSL, -9800)
2017-11-07 20: 49: 30.836578 + 0000 TestApp [1851: 1259046] Nhiệm vụ < 0A675AA1-7110-4FCC-99B2-054380D22F01>. < 0> HTTP tải thất bại (lỗi mã: -1200 [3: -9800])
2017-11-07 20: 49: 30,837548 + 0000 TestApp [1851: 1.258.708] NSURLConnection kết thúc với lỗi - mã - 1200
Và tôi đã có này vào tập tin plist của tôi:
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
NB: cùng mã đang làm việc một cách hoàn hảo với nhanh chóng 3.2
Tôi có cùng một vấn đề để chơi một luồng âm thanh bằng cách táo đồng hồ . nhưng phiên bản nhanh chóng là 3.2 Tôi đã dành nhiều thời gian để sửa lỗi này nhưng không tìm thấy gì cả. :(Bạn đã giải quyết vấn đề này chưa? – shilei365