2016-07-31 50 views
-1

無法理解,這段代碼有什麼問題?它不起作用... 如果我嘗試請求HTTP,它工作,但HTTPS不起作用。 請幫忙或提供一些文獻。Swift HTTPS錯誤

CODE:

@IBAction func registrationAction(sender: AnyObject) { 
    let name  = cView.nameTextField.text! 
    let email  = cView.emailTextField.text! 
    let password = cView.passwordTextField.text! 

    let json  = [ "name"  : name , 
         "email" : email , 
         "password" : password ] as Dictionary<String, AnyObject> 

    let urlPatch = "https://128.32.136.40:8080/ewrdsf/sdffs" 

    let url  = NSURL(string: urlPatch)! 
    let request = NSMutableURLRequest(URL: url) 

    request.HTTPMethod = "POST" 
    request.setValue("application/json; charset=utf-8", forHTTPHeaderField: "Content-Type") 

    do { 
     request.HTTPBody = try NSJSONSerialization.dataWithJSONObject(json, options: .PrettyPrinted) 
    } catch { 
     print(error) 
    } 

    let session = NSURLSession.sharedSession() 
    let dataTask = session.dataTaskWithRequest(request) { (let data, let response, let error) in 

     guard let _:NSData = data, let _:NSURLResponse = response where error == nil else { 
      print("error") 
      return 
     } 

     let dataString = NSString(data: data!, encoding: NSUTF8StringEncoding) 

     print(dataString!) 
    } 

    dataTask.resume() 
} 

回答

0

您需要配置在您的應用程序plist文件的應用程序傳輸的安全設置。右鍵點擊你的plist文件並打開源代碼,然後添加此密鑰。

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSAllowsArbitraryLoads</key> 
    <true/> 
</dict> 

欲瞭解更多信息請參閱本:https://developer.apple.com/videos/play/wwdc2015/703/