你的位置:首页 > 操作系统

[操作系统]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白名单,添加支付宝支付