支付宝sdk集成问题汇总解决
集成支付宝SDK
第一步:按照支付宝集成流程操作。
第二步: 但是按照官方文档还是有问题 : 找不到<openssl/asn1.h>文件
自己集成支付宝SDK时的错误
2.缺少 #include <openssl/asn1.h>
这个是路径错误,
解决方法如下:在你的Xcode里的header search paths 里添加支付宝SDK(openssl的路径);格式如下 $(PROJECT_DIR)/文件夹名 (这里说一下,直接点击openssl,然后showinfinder,然后command + i 查看路径,把得到路径的工程名字以后的部分加在文件夹名这OK了)
3.跳转后出现“系统繁忙,请稍后再试(ALI59)”
问题情况:模拟器没问题,在没有按照支付宝的测试机上也可以。但是在安装了支付宝的机器上就不行了。
解决:原因是out_trade_no这个参数里不能有符号。
4.错误信息:"_EVP_DecodeBlock", referenced from: _dataFromBase64String in openssl_wrapper.o等,具体错误信息如下图:
解决办法:
在网上找了很多资料,大多数都说这种情况是缺少依赖库,但是具体缺什么也说的不是很清楚,反复根据开发文档检查了N遍,可能没有少添加的依赖库。还有一些人说是缺少.a文件,但是在下载的SDK中并没有发现.a文件,所以这个问题纠结了很久...
后来,仔细看了一下支付宝的Demo,终于找到了两个.a文件,libcrypto.a和libssl.a,这两个文件的具体路径如下图:
找到这两个.a文件的具体位置,拖进项目中,顺利通过编译。