iOS中微信支付中调用不起来微信

这几天在进行版本开发中遇到了一个问题:
支付使用第三方微信支付的时候,app调不起来微信,什么都不显示也不返回,很是纳闷。


前提条件:

第一版本使用微信支付的时候,是直接下载友盟的SDK,版本是UMSocial_Sdk_5.2:
旧版本

现在进行开发的时候,组件化之后的,直接使用的是cocoapods引用的UMSocial:
podfile微信使用的完整版

代码流程不变

                PayReq *weChatReq = [[PayReq alloc] init];
                weChatReq.openID = weChatDic[@"appid"];
                weChatReq.partnerId = weChatDic[@"partnerid"];
                weChatReq.prepayId = weChatDic[@"prepayid"];
                weChatReq.nonceStr = weChatDic[@"noncestr"];
                weChatReq.timeStamp = [weChatDic[@"timestamp"] integerValue];
                weChatReq.package = weChatDic[@"package"];
                weChatReq.sign = weChatDic[@"sign"];
                [WXApi sendReq:weChatReq];

但是,使用cocoapods引入的,在执行代码的时候

 [WXApi sendReq:weChatReq];

微信调不起来

查找问题原因:
1.首先注册的AppKey没有问题;
2.相应的设置没有问题;


考虑使用的库的问题:
经过查找,发现在WXApiObject.h文件中,一个有PayReq 和PayResp这两个文件,一个没有


WXApiObject.h中的PayReq 和PayResp

但是,为什么之前的没有问题,查找代码,同事自己定义了PayReq 和PayResp这两个缺失的文件,所以,之前代码中也有这两个文件:
代码中自定义PayReq 和PayResp

解决的方案:

先将友盟中的微信部分,设置成精简版,不使用完整版:
使用微信精简版

再新增微信支付的SDK:

  pod 'WechatOpenSDK'

删除重复定义的文件。运行,在相应的地方就可以调用起来微信支付。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 实现支付宝支付的准备工作: 1.向支付宝签约,成为支付宝的商户 签约完成后,支付宝会提供一些必要的数据给我们 商户...
    Anson杨春安阅读 12,579评论 0 6
  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,125评论 2 89
  • 男主石宇、摔跤手尚华和棒球手荣国千辛万苦跑上了开动的火车的第9车箱,得知秀安、孕妇盛京,老奶奶和流浪汉躲在13车箱...
    芷水中银三星阅读 3,196评论 0 3
  • 茶壶里煮的也许就是就是你我,空气里飘散的味道不知是快乐还是忧愁……白纸上可以有千言万语,笔尖下空留欲语还休!
    苏苏不是画家阅读 2,415评论 0 0
  • 昨夜的雨伴着风在窗外缠绵了好一阵子,为了不打扰,关了窗户!雨关在了外面,蚊子却关在了里面,幸亏,昨夜不是一只贪心的...
    医世长安阅读 1,430评论 1 3