博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IOS9 微信支付报 prepayid 获取失败 ErrorDomainSSL, -9802
阅读量:5975 次
发布时间:2019-06-19

本文共 2277 字,大约阅读时间需要 7 分钟。

hot3.png

微信支付或访问一些网站时报错:

SDKSample[669:19724] NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802)

原因是 :

IOS9 中将 http 请求改成了 HTTPS(加密) 的方式

解决:

在项目的info.plist 文件里加上如下节点:

技术分享

NSAppTransportSecurity - NSAllowsArbitraryLoads

这个子节点的意思是:是否允许任性的加载? 设为 YES 的话就将禁用了 AppTransportSecurity 转而使用用户自定义的设置。

当 APP 内发起 webView 加载 https 的网页,则需要在 info.plist 中配置如下,如果网站引用的比较多应该是需要针对每个网站进行配置。

技术分享

参考:

iOS 9 and OSX 10.11 require TLSv1.2 SSL for all hosts you plan to request data from unless you specify exception domains in your app's Info.plist file.

The syntax for the Info.plist configuration looks like this:

NSAppTransportSecurity
 
NSExceptionDomains
 
   
yourserver.com
   
     
     
NSIncludesSubdomains
     
     
     
NSTemporaryExceptionAllowsInsecureHTTPLoads
     
     
     
NSTemporaryExceptionMinimumTLSVersion
     
TLSv1.1
   
 

If your application (a third-party web browser, for instance) needs to connect to arbitrary hosts, you can configure it like this:

NSAppTransportSecurity
   
   
NSAllowsArbitraryLoads
   

If you're having to do this, it's probably best to update your servers to use TLSv1.2 and SSL, if they're not already doing so. This should be considered a temporary workaround.

//[WXApi sendReq:req] 不跳转微信支付

可以尝试用 [WXApi safeSendReq:req]; 跳转微信支付,导致不跳转的原因可能是因为项目开发过程中,之前应用了微信的shareSDK(没有支付功能),现在和微信支付的SDK冲突了。

解决:可以删除原来的 shareSDK 重新引入 支付的SDK。

//onResp:(BaseResp*)resp 不执行

原因:微信支付的SDK没有代理,所以,你想获取支付后的结果的返回信息,需要去 AppDelegate 里,添加如下代码,添加微信的代理:

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation

{   

 return  [WXApi handleOpenURL:url delegate:self];

//或者把回调方法写到其他单独的类里面 

// WXPay *wxpay=[[WXPay alloc]init];

//    return  [WXApi handleOpenURL:url delegate:wxpay];  

}

然后,再实现这个方法:

-(void) onResp:(BaseResp*)resp

ps:

http://stackoverflow.com/questions/30739473/nsurlsession-nsurlconnection-http-load-failed-on-ios-9

转载于:https://my.oschina.net/jack088/blog/514630

你可能感兴趣的文章
android或ios app请求参数格式
查看>>
Camera Vision - video surveillance on C#
查看>>
如何理解网络连接中的"3次握手"?
查看>>
使用Dubbo服务出现java.io.IOException: invalid constant type: 18异常解决办法
查看>>
一条命令完成砸壳
查看>>
PYKit目录
查看>>
JSON使用总结
查看>>
php-redis中文帮助手册_系统相关_config_eval_evalSha_script...
查看>>
CSS3实现在图片上划过产生一道闪光
查看>>
Tomcat Context配置
查看>>
MyEclipse中properties文件中文插件
查看>>
CentOS6.5安装ntopng
查看>>
mysql事务rollback&commit
查看>>
Node.js搭建Web服务器
查看>>
Shell脚本学习
查看>>
JAX-RS入门 五: 自动类型转换
查看>>
连连看 欢迎玩耍 :)
查看>>
vim编辑器用法
查看>>
Masonry基本使用
查看>>
iOS-规范-头文件结构
查看>>