作者:顺辉1988 | 来源:互联网 | 2023-09-10 16:22
一,最常见的一个问题opensslasn1.hfilenotfound这是因为没添加一个支付宝sdk的头文件路径。解决方法:1,将支付宝的所有sdk放到一个文件夹中,是finder中实
一,最常见的一个问题 openssl/asn1.h file not found
这是因为没添加一个支付宝sdk的头文件路径。
解决方法:
1,将支付宝的所有sdk放到一个文件夹中,是finder中实际存在的文件夹,而不是在工程里建的那种floder,然后将此文件夹addFile到工程里,可以加到自己工程的第三方文件夹下
2,TARGETS-Build Settings-找到Header Search Path 添加
$(PROJECT_DIR)/工程文件夹名/第三方文件夹名/存放支付宝sdk的文件夹名
后面的路径 就是支付宝sdk在finder中的实际存在的一条路径
例如我的名称叫PropertyStore我将支付宝sdk放到OSLibrary文件夹下的Alipay文件夹中(注意,每个文件夹都是finder中实际存在的)
目录结果截图:那么我这个在头文件添加的就是 $(PROJECT_DIR)/PropertyStore/OSLibrary/Alipay 然后编辑,一般这个问题就都解决了,如果还是不行,仔细看看这个路径是否正确。如下图,每个层级的关系。如果跟我的层级不太相同 就按照你的层级关系 来给头文件添加路径
二,第二个问题可能是由于我当时刚接触ios对这些都不懂导致,在此记录,给新手参考借鉴。
当跳到支付页面后取消支付或者支付成功后,不跳回到当前程序,这个问题跟URL types有关,当你的程序从应用内跳到应用外的一些网页或者别的应用内的时候,想要再回到当前应用,ios系统是通过这个url types来找到你的当前应用的。也就是说 如果你不添加这个url types 那么你支付成功之后 页面会一直停在支付宝页面,所以这个url types是一定要添加的,一般就是你工程的名字 千万别把支付宝demo中的那个名字写上,如果你设备上装了demo 并且你工程的urlt ypes就是跟支付宝demo一样的 那么当你设备中有支付宝客户端的时候,你在本程序去付款,支付页面不会开启,并且会报错,说合作者id错误好像,有点记不清了。改了这个url types就ok了
截图url types的位置 在TARGETS-Info下的URL Types
暂时想到这两个问题,如果再想到别的再更新。
本来ios开发并不久,希望跟更多人的一起学习,一起探讨。