支付宝集成遇到的问题

本文详细解答了在iOS应用中集成支付宝SDK时遇到的编译链接错误、真机调试问题及网页版支付宝支付报错的解决方法。包括如何在BuildSetting中配置HeaderSearchPaths、添加必要的库、解决重复定义符号问题、配置URLScheme以及解决真机调试中的错误。同时提供了在新电脑中迁移项目时的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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---



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值