解决iOS调起微信支付,显示系统繁忙
2016-12-24 14:04
106 查看
最新刚到新公司接手一个项目,当微信支付时可以跳转到微信界面,但会弹出对话框显示 '系统繁忙',点击确定就留在微信,不返回APP,然后就各种调试,微信的DEMO和接入文档都看穿了,都还没能解决问题,网上也是找了各种答案,什么降低微信支付SDK版本,还有检查传过去的参数,也反复检查了参数,确实没发现问题,也没能解决我的问题,安卓那边可以微信支付,iOS这边不行,参数都是由服务器返回的一样的参数,所以也解决参数不会有问题,然后无意中看到了网上一个哥们的问题说和友盟分享SDK冲突了,刚好这个工程也集成了友盟,然后在工程里注释掉友盟注册微信APPID的代码,在运行,完美解决了我的问题,(当然不能注释掉代码),我个人的解决方案是在调起微信支付之前用微信的API在注册一下微信的APPID(虽然在程序启动的时候已经注册过一次,不想去改动原来的代码),下面的是我的代码,在这里写下来,供以后碰到此类问题的童鞋可以参考解决问题!
#pragma 微信支付 -(void) payMwxpay:(Mwxpay *) mwxpay{ // 跟友盟微信分享SDK冲突,支付时需要重新注册微信APPID一次 // 获取plist文件路径 NSString *path = [[NSBundle mainBundle] pathForResource:@"appchange.plist" ofType:nil]; NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:path]; // 从字典中取出注册微信 appid [WXApi registerApp:[dict toString:@"weixin_appId"] withDescription:@"aiwufu"]; PayReq* req = [[PayReq alloc] init]; // if ([mwxpay.package isEqualToString:@"Sign=Wxpay"]) { // mwxpay.package=@"Sign=WXPay"; // } // if (mwxpay.sign!=nil) { // mwxpay.sign=[mwxpay.sign uppercaseString]; // } req.openID = mwxpay.appid; req.partnerId = mwxpay.partnerid; req.prepayId = mwxpay.prepayid; req.nonceStr = mwxpay.noncestr; req.timeStamp = [mwxpay.timestamp intValue]; req.package = mwxpay.package; req.sign = mwxpay.sign; [WXApi sendReq:req]; NSLog(@"appid=%@\npartid=%@\nprepayid=%@\nnoncestr=%@\ntimestamp=%ld\npackage=%@\nsign=%@",req.openID,req.partnerId,req.prepayId,req.nonceStr,(long)req.timeStamp,req.package,req.sign ); }
相关文章推荐
- 解决iOS调起微信支付显示系统繁忙问题
- iOS 调用支付宝 显示系统繁忙,请稍后再试(ALI10
- 关于xcode7下的ios模拟器输入内容无法显示系统键盘的解决办法
- 解决iOS中调用系统中的相机,显示英文标题
- iOS调用系统相册、相机 不能显示中文-解决方法
- iOS开发问题之:解决iOS网页调用系统相册显示英文的问题
- Java swt 显示到系统托盘的图标中浮出菜单的文字乱码问题解决。
- 解决电脑系统显示文件丢失或损坏
- CSS样式,使用VS2005本地文件系统调试能显示,改成使用IIS就死活不显示了!【解决方法汇总说明】
- 解决:Vista 系统中浏览网页速度慢或出现该页无法显示的问题
- 开机显示“invalid partition table”进不了系统,解决办法
- 解决FAT32文件系统分区中文文件名在Linux下显示乱码
- 使用SecureCRT登陆RHEL系统显示中文乱码的解决方法
- 解决ebs在2003系统下不能显示中文的问题
- Extmail进后台不能正常显示系统的信息的解决办法
- Asp.Net 连接Oracle数据库 出现"找到 Oracle 客户端和网络组件" 的解决方法!(在win2003 ntfs 下IIS发布只显示登陆界面 不进入系统解决办法)
- 重装系统后outlook无法显示联系人列表解决方法
- XP系统开机显示 “windows/system32/config/system”损坏或丢失的解决方法
- 解决ani格式光标特效在2003系统无法显示的问题
- 进入'我的电脑'窗口后,左边显示的‘系统任务,其它位置,详细信息’菜单条到删除和出现的问题解决