微信支付集成之4iOS端简单集成

首先还是集成第三方SDK的老套路,去下载一份iOS微信支付官方Demo(下载地址)瞅瞅。

1.出师不利

当我们下载好demo后,直接打开demo编译的时候直接报错了:

图1

从报错信息中“_kCFStreamNetworkServiceTypeVoIP”字段可以推测出编译错误与网络相关的库有关,常用的系统网络支持库一般为:CFNetwork.framework。因此,解决方式为:添加CFNetwork库支持

此时编译就能通过了,但是不要高兴得太早。当你运行Demo时,你会发现程序莫名其妙地崩溃了:

图3

解决方案:在工程配置中的”Other Linker Flags”中加入”-Objc -all_load”

图4

是不是特想知道我是怎么知道的?哈哈,其实下的Demo里已经说得很明白了。俗话说心急吃不了热豆腐,每次当我们下载使用第三方工具的时候,最好不要先急着跑程序,先找找有没有readMe文件,仔细读读不会有坏处的!

到现在,我们下载的Demo终于可以跑起来了。可是我们要做的只是微信支付这一块,这个Demo的信息量可真大很多都不是我们需要的。直接拿来用肯定是大大不妥滴。。。

2.另辟蹊径

既然官方的Demo太繁琐,而且他给出的WXApiManager也比较晦涩难懂。我们不妨按自己所需对微信支付OpenSDK做一个二次封装,这样用着也顺手。

1.首先建立一个微信支付工具类(我这里叫CHWxPayManager,自定义的类类名最好加一个前缀)

2.发起支付的核心代码:

2_1
2_2
2_3

3.支付代码实现了,我们还需要在AppDelegate里为OpenSDK做一些配置

3.1在AppDelegate中didFinishLaunchingWithOptions方法内注册APPID(记得引入头文件CHWxPayManager.h)

3_2

3.2根据OpenSDK提供的接口说明,我们需要在handleOpenURL方法回调内做以下处理:

3.2_1
3.2_2

这样,一个属于自己的基于OpenSDK的二次封装支付类就完成了,简单的支付功能就可以基本实现了。至于某些细节部分的调试可能需要与后台联调,这里就不再赘述。

如果你还有什么疑问,请在文章下留言提问,我们一起交流学习!

晚安,这个世界!晚安,这个世界的程序猿们!

--20171019凌晨

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 180,153评论 25 708
  • 实现支付宝支付的准备工作: 1.向支付宝签约,成为支付宝的商户 签约完成后,支付宝会提供一些必要的数据给我们 商户...
    Anson杨春安阅读 8,674评论 0 6
  • 感觉画画真的很美,很能让人静下心来。我在努力,我相信只会更好!第一天的签到,接下来我会每天练习,有满意的上简书发布...
    LYZZ11阅读 747评论 0 0
  • 今天分了30多个学生给我,同一批的新兵营只有我们四个人分到了学生,感觉还是有点小幸运的。起初很兴奋,但当打完下来发...
    午夜华尔兹阅读 241评论 0 0
  • 生命中来来往往的过客,总有些让你无法释怀,于公,你可以坦然,于私却无法释然! 英雄不问归路,只管仗剑前行!
    远方的花主阅读 244评论 0 0

友情链接更多精彩内容