簡體   English   中英

NSurlsession在Xcode8中沒有使用swift 2.3

[英]NSurlsession is not working in Xcode8 with swift 2.3

let jsonObject:[string:string] = [
    "username":"sample",
    "password":"qwerty"
]

let url:NSURL = NSURL(string:<my URL>)!
let session = NSURLSession.sharedSession()

let request = NSMutableURLRequest(URL: url)
request.HTTPMethod = "POST"
request.addvalue("application/json",forHTTPHeaderField:"Content-Type")
request.addvalue("application/json",forHTTPHeaderField:"Accept")
request.HTTPBody = try!NSJsonSerialization.dataWithJSONObject(JSONObject,options:.prettyprintted)

let session = NSURLSession.sharedSession()
let task = session.dataTaskwithRequest(urlRequest,completionhandler:{
    data,Response,error ->Void in

    print(Response)

})

task.resume()

我做了那些事情,我沒有得到響應。 我使用Xcode 8和swift 2.3。

默認情況下,Xcode會禁用來自iOS應用的所有不安全的HTTP流量。

所以,我認為問題可能是您需要通過https服務,除非您更改NSAppTransportSecurity。

作為臨時解決方案,您可以將其添加到Info.plist,以查看是否有幫助。

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

更多信息可以在這里找到: http//iosdevtips.co/post/121756573323/ios-9-xcode-7-http-connect-server-error

你應該使用ssl進行生產。

let jsonObject:[String:String] = [
                "username":"sample",
                "password":"qwerty"
            ]

            let url:NSURL = NSURL(string:"enter url here")!
            let session = NSURLSession.sharedSession()

            let request = NSMutableURLRequest(URL: url)
            request.HTTPMethod = "POST"
            request.setValue("application/json",forHTTPHeaderField:"Content-Type")
            request.setValue("application/json",forHTTPHeaderField:"Accept")
            do {
                request.HTTPBody = try NSJSONSerialization.dataWithJSONObject(jsonObject,options: .PrettyPrinted)
            } catch let error as NSError {
                print("Error : \(error)")
            }
            session.dataTaskWithRequest(request, completionHandler: { ( data: NSData?, response: NSURLResponse?, error: NSError?) -> Void in
                print(response)
            }).resume()

無法加載資源,因為App Transport Security策略要求使用安全連接。

在此輸入圖像描述

希望對你有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM