今天我将把有关iOS集成支付宝sdk中遇到的问题以及解决办法写下。我在两个项目有过集成支付宝的经历,大家都会遇到 openssl 在不到头文件。对于第一次集成支付宝的朋友。肯定的花点时间查。本人也一样第一次花了很多时间。
在OC中其实和Swift 基本一样。只不过Swift 先的做OC的桥接’.h‘文件 简单修改下其他地方。今天我主要针对Swift ,其实我并不是在写项目遇到这个问题没办法搞定了。而是一个QQ群里的朋友在问,一大早看到了告诉他 设置Header Search Paths 路径 $(SRCROOT)/文件名。接近中午看到他还没解决,他问了支付宝客服也没得到答案。出于本人爱开玩笑说了一句。。。结果一顿好骂。 只好帮助他完成了算是消消气。我于是新建项目 下载支付宝SDK。新建lib文件将所有关于支付宝的放进去。swift 会自动生成桥接文件 xxx-Bridging-Header
解决方案:第一步添加有关支付宝需要的framework ->UIKit.framework CoreGraphics.framework 、 Foundation.framework 、 CoreTelephony.framework 、 QuartzCore.framework 、 libc++.tab 、QuartzCore.framework 、CFNetwork.framework 、libz.tab SystemConfiguration.framework 、CoreMotion.framework
第二步:在桥接'.h'文件 中 添加 // Use this file to import your target's public headers that you would like to expose to Swift.//
#import <AlipaySDK/AlipaySDK.h>
#import "RSADataSigner.h"
#import "Order.h"
#import "DataSigner.h"
第三步:先编译看看有什么问题,头一次使用集成支付宝都会有这个心理。 发现好多错误 没事各个击破
编译发现 的问题 @interface Base64 : NSObject 报错。只需要添加 #import <Foundation/Foundation.h>其他类似的也一样不一一说明了。
2.你还会发现有关 openssl 找不到包含文件 这时候就需要设置路径了。首先找到Build Settings -> Header Search Paths 添加 $(SRCROOT)/文件名 这里添加相对路径 。同时还有 Framework Search Path $(PROJECT_DIR)/文件名 和$(PROJECT_DIR)/文件名/AlipaySDK.framework 这里也是相对路径 。千万要看 AlipaySDK.framework 路径对不对。这样在编译就成功。
如果以后发现有关使用支付宝时出现其他的问题我会继续更新 希望能帮助初次集成支付宝的小伙伴工作顺利。突然发现写一些经验分享真的不错,那就以后继续写嘿嘿。如果写的有问题还望多多包涵也多多指导。