您的位置:首页 > 其它

支付宝集成遇到的问题

2016-02-23 14:56 274 查看
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白名单,添加支付宝支付



1.模拟器上运行正常,但是真机调试时报编译链接错误

    :ld: '/Users/wangqipeng/Desktop/iOS支付宝官方文档/AlixPayDemo/libcrypto.a(bio_lib.o)' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.
for architecture armv7

clang: error: linker command failed with exit code 1 (use -v to see invocation)

 

解决方法:在Build Setting中查找bitcode,将Enable Bitcode改为NO就可以了

 

2.平时调试程序时,有时会报No matching provisioning profiles found 的警告,真机调试会报错

 

解决方法:修改Bundle Identifier ,给当前的bundle id随便添加几个字符就行,但是真机调试过之后要改为原来的Bundle id,否则不可以连续运行的

 

3.ld: file not found: /Users/wangqipeng/Library/Developer/Xcode/DerivedData/UITest-fwixyyhkflydsbeztbylckujcsyo/Build/Products/Debug-iphonesimulator/UITest.app/UITest clang: error: linker command failed with exit code 1 (use -v to see invocation)

将项目考到新电脑中出现错误

 

改Build Setting中改一下项目名字就好了

原因,项目名不同造成的

Build Setting----》Product Name---
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息