2016-07-31 6 views
-1

Kann nicht verstehen, was ist falsch in diesem Code? Es funktioniert nicht ... Wenn ich HTTP anfordern, funktioniert es, aber HTTPS funktioniert nicht. Bitte helfen oder geben Sie etwas Literatur.Swift HTTPS Fehler

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() 
} 

Antwort

0

Sie müssen die App Transport Sicherheitseinstellungen in Ihrer Anwendung plist-Datei konfigurieren. Klicken Sie mit der rechten Maustaste auf Ihre PLIST-Datei und öffnen Sie sie als Quellcode. Fügen Sie diesen Schlüssel hinzu.

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

Für weitere Informationen sehen: https://developer.apple.com/videos/play/wwdc2015/703/