Swift 错误域=NSURLErrorDomain 代码=-1012

Posted

技术标签:

【中文标题】Swift 错误域=NSURLErrorDomain 代码=-1012【英文标题】:Swift Error Domain=NSURLErrorDomain Code=-1012 【发布时间】:2016-07-28 16:52:55 【问题描述】:

我是一名新生,在我大一之后的暑期项目中工作,几乎没有经验,我遇到了错误

错误域=NSURLErrorDomain 代码=-1012 "(null)" UserInfo=NSErrorFailingURLKey=https://localhost/donate/payment.php, NSErrorFailingURLStringKey=https://localhost/donate/payment.php

当我尝试通过条带进行信用卡支付时,我拥有的代码是

 func postStripeToken(token: STPToken) 

    let URL = "https://localhost/donate/payment.php"
    let params  : [String: AnyObject] =  ["stripeToken": token.tokenId,
                                          "amount": myInt,
                                          "currency": "usd",
                                          "description": self.emailTextField.text!]

    let manager = AFHTTPRequestOperationManager()
    manager.POST(URL, parameters: params, success:  (operation, responseObject) -> Void in

        if let response = responseObject as? [String: String] 
            UIAlertView(title: response["status"],
                message: response["message"],
                delegate: nil,
                cancelButtonTitle: "OK").show()
        

    )  (operation, error) -> Void in
        self.handleError(error!)
    

它想要一个 HTTP url 而不是 HTTPS,但是当我将它更改为 HTTP 并且当用户按下他们的卡付款时它不安全,他们会收到一个错误

资源无法加载海滩 APP 传输安全 政策要求使用安全连接。

有没有我可以使用 HTTPS 而不会收到 NSURL 错误,或者我可以在没有HTTPS 的情况下建立安全连接?任何提示都会非常有帮助!

manager.securityPolicy.allowInvalidCertificates = true;

我也尝试添加此语句,但没有成功。

【问题讨论】:

【参考方案1】:

关于这个问题“The resource could not be loaded beach the APP Transport Security Policy requires the use of a secure connection”

只需在 info.plist 中编写以下代码

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

【讨论】:

以上是关于Swift 错误域=NSURLErrorDomain 代码=-1012的主要内容,如果未能解决你的问题,请参考以下文章

iOS swift 中的错误域 = NSCocoaErrorDomain 代码 = 3840?

Swift 3.1:自定义错误转换为 NSError 以访问其域属性时崩溃

Swift 服务调用中的错误域 = NSURLErrorDomain 代码 = -1004 而不是 -1009

AVAudioPlayer 不工作。 swift2 中的错误域 = NSOSStatusErrorDomain 代码 = 1954115647 “(空)”

使用 Swift 3.0 的 Alamofire 4 失败:错误域 = NSURLErrorDomain 代码 = -999 “已取消”

错误域 = NSCocoaErrorDomain 代码 = 3840 “字符 1 周围的值无效。” UserInfo=NSDebugDescription=字符 1 周围的值无效。swift 4