构建新的项目时,在重新引入alipaySDK进行编译之后出现了一个错误:找不到 #include<openssl/asn1.h> 这个文件
首先排除是SDK的问题以及代码问题.在重新翻看了官方文档以及网上的一些帖子之后大致推断出问题出现的原因可能是由于文件路径的变化导致了配置信息出现错误.所以我的解决办法是重新配置文件路径.
1.打开项目,点击Build Settings,选择Header Search Paths.
2.在Header Search Paths对应的输入框中添加ssl的路径( $(PROJECT_DIR)/文件夹路径名).
3.重新运行.
值得注意的是:在关于知道路径的问题,网上一些方法是点击openssl ----> show in Finder ----> command + i查看路径,然后把得到路径的工程名字以后的部分加在文件夹名这OK了.但是我并没有操作出来,所以我的操作是这样的,效仿Header Search Paths上方和下方的Framework Search Paths以及 Library Search Paths 的路径,将统一的部分copy下来,然后再加上AlipaySDK.结果证明是有效的.
另外:添加路径时要把项目名之前的所有都替换成$(PROJECT_DIR).假如之前是/Users/Sylar/Desktop/FarmersMarket/Alipay然后替换后就是$(PROJECT_DIR)/FarmersMarket/Alipay,这时候再Clean 一下.如果还是报错,那就把$(PROJECT_DIR) 换成$(PROJECT_ROOT),再Clean一下运行.
归根结底,在集成支付宝SDK如果出现问题的话,排查问题的基本逻辑顺序大致是这样的(转):
1.查看第三方库和系统库是否添加完毕
2.-ObjC是否写入
3.Header Search Paths路径是否添加正确,或者少添加
4.以上未能解决就需要删除原本的SDK,重新添加
5.第一次使用支付宝最好先写一个示例demo,这样好修改好替换