ani*_*udh 1 ios swift alamofire xcode10 dynamic-frameworks
我得到这个
“加载失败,错误错误域=NSURLErrorDomain 代码=-999“已取消””
尝试在我的自定义框架中调用 api 时。但是当我在另一个项目中运行相同的代码时,它工作正常并给出正确的响应。下面是我的代码。在正常项目中不需要的自定义框架中有什么我必须做的吗?
func invokePostWebServiceCallLogin(request : String,param : NSDictionary,completion : @escaping (_ webResponse : WebserviceResponseClass) ->Void) -> Void {
let headers = [
"Accept": "application/json",
"Content-Type": "application/x-www-form-urlencoded"
]
let passingParameter : [ String : AnyObject] = param as! [String : AnyObject]
UIApplication.shared.isNetworkActivityIndicatorVisible = true
WebServiceHelperClass.Manager.request(URL(string: request)!, method: .post, parameters: passingParameter,encoding: URLEncoding.default, headers: headers).validate().responseJSON {
response in
UIApplication.shared.isNetworkActivityIndicatorVisible = false
switch response.result {
case .success:
let webResult = WebserviceResponseClass()
webResult.isSuccess = true
webResult.responseData = response.data as NSData?
webResult.error = nil
completion(webResult)
break
case .failure(let error):
let webResult = WebserviceResponseClass()
webResult.isSuccess = false
webResult.responseData = nil
webResult.error = error as NSError
completion(webResult)
}
}
}
private static var Manager : Alamofire.SessionManager = {
let serverTrustPolicies: [String: ServerTrustPolicy] = [
"dev.xxxxx.com": .pinCertificates(
certificates: ServerTrustPolicy.certificates(),
validateCertificateChain: true,
validateHost: true
),
"xx.xx.xxx.xx": .disableEvaluation
]
let configuration = URLSessionConfiguration.default
configuration.timeoutIntervalForRequest = 45
configuration.timeoutIntervalForResource = 45
let manager = Alamofire.SessionManager(
configuration: configuration,
serverTrustPolicyManager: ServerTrustPolicyManager(policies: serverTrustPolicies)
)
return manager
}
Run Code Online (Sandbox Code Playgroud)
任务 <91C7555E-F6E6-45EB-9762-EE61915719DE>.<1> 加载失败,错误为 Error Domain=NSURLErrorDomain Code=-999 "cancelled" UserInfo={NSErrorFailingURLStringKey= https://dev.xxxxxxxx.com:xxxx/api/ VirtualAPI/Login , NSErrorFailingURLKey= https://dev.xxxxxxxx.com:xxxx/api/VirtualAPI/Login , _NSURLErrorRelatedURLSessionTaskErrorKey=(“LocalDataTask <91C7555E-F6E6-45EB-9762-EE61915719DE>.<1>URLTaskFailedKeyNSErrorKeyDataLinkTaskURLError” <91C7555E-F6E6-45EB-9762-EE61915719DE>.<1>, NSLocalizedDescription=cancelled} [-999]
看起来 API 调用正在使用证书锁定安全策略。当证书锁定失败时,数据任务将返回NSLocalizedDescription=cancelled。检查ServerTrustPolicy.certificates()并查看它是否返回有效的证书数据 - 通常它会自动加载 SAME 包中的任何证书。如果没有确保手动加载
| 归档时间: |
|
| 查看次数: |
5608 次 |
| 最近记录: |