我一直在开发iOS应用程序并使用Alamofire 4.0 / Swift 3.1 / Xcode 8.3.3调用我的web服务。
在我的iPhone处于OS 10.0之前,一切似乎都运行良好。我今天将我的iPhone更新到10.3.3,突然间我的网络服务停止了工作。
以下是我一直在使用的代码:
NumberString
这是我在控制台中得到的:
class func verifyLoginCredentials(_ username: String, password: String, completion: @escaping (_ type: ResponseType , _ response : Int, _ message: String) -> Void) {
var serviceURL = baseURL + "&task=login&email=" + username + "&pwd=" + password
serviceURL = serviceURL.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed)!
let url = URL(string: serviceURL)
let authHeader = ["":""]
print(url!)
request(url!, method: .post, parameters: nil, encoding: JSONEncoding.default, headers: authHeader).responseJSON(options:
JSONSerialization.ReadingOptions.mutableContainers) { (serverResponse) -> Void in
switch serverResponse.result {
case .success(let JSON):
debugPrint(JSON)
if (JSON as AnyObject).value(forKey: "status") as! Int == 1 {
completion( ResponseType.kresponseTypeSuccess,(JSON as AnyObject).value(forKey: "status") as! Int, "")
// Set User Session
CFunctions.setLoginSession(JSON as AnyObject)
} else {
completion( ResponseType.kresponseTypeSuccess,(JSON as AnyObject).value(forKey: "status") as! Int, (JSON as AnyObject).value(forKey: "response") as! String)
}
case .failure(let error):
let dataString = String(data: serverResponse.data!, encoding: String.Encoding.utf8)
print("verifyLoginCredentials Request failed with error: \(String(describing: dataString))")
completion(ResponseType.kResponseTypeFail, error._code, "Service failed")
}
}
}
我想在这里再说一件事。我的Web服务之前是从旧域(http://www.exoticcarclub.net/api/?)调用的。现在我的网络服务已经转移到新服务器并且还没有指出它的域名,所以他们给了我http://198.1.109.253/~ecc2014/api/?替换为。我认为这也可能是罪魁祸首。
有人可以指出OS 10.3.3中发生了什么吗?任何帮助将受到高度赞赏。感谢。
答案 0 :(得分:0)
我想我自己想出来了。
let authHeader = ["":""]
行。 headers: authHeader
个参数。(options: JSONSerialization.ReadingOptions.mutableContainers)
。