iOS支付宝集成时遇到的问题整理(2)
1、集成支付宝SDK编译报错#include<openssl/asn1.h>这一行 “openssl/asn1.h”file not found
解决方法:在BuildSetting 里边找到 Header Search Paths 把引入的支付宝SDK的路径加进去,如 : $(PROJECT_DIR)/PayDemo/alipay
要加入 $(inherited)
2、集成支付宝时需要添加的几个库
libsqlite3.0.tbd
libz.1.2.5.tbd
CFNetWork.framework
SystemConfiguration.framework
3、在PayManager类中支付方法中修改order的信息,生成订单信息,调用支付宝进行支付
4.duplicate symbol _base64_encode in:
/Users/wangqipeng/Library/Developer/Xcode/DerivedData/优梦优-akblfjgbvhftgggvemzqbeumwnvb/Build/Intermediates/优梦优.build/Debug-iphonesimulator/优梦优.build/Objects-normal/x86_64/base64.o
/Users/wangqipeng/Desktop/优梦优副本/优梦优/Classes/Home/Controller/libzbar.a(symbol.o)
ld: 1 duplicate symbol for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
错误原因:
集成ZBar和AlipaySdk时有两个库文件都定义了_base64_encode这个方法,因此编译器就会报错重复定义。
解决方法:
找到集成的sdk的源码,进入到base64.h文件中,修改其中一个_base64_encode方法名,然后集成运行。
5.调用网页版支付宝支付出现错误:LaunchServices: ERROR: There is no registered handler for URL scheme alipay
解决方法:
首先看plist文件中是否存在Main storyboard file base name,如果项目没有用的storeBoard,直接把这个选项删除即可
然后添加LSApplicationQueriesSchemes项,加入URL scheme白名单,添加支付宝支付