1.首先下载到支付宝官方SDK压缩包,找到支付宝钱包IOS版,将其解压后得道AlipaySDK.bundle、AlipaySDK.framework、AliSDKDemo三个文件。
2.把AlipaySDK.bundle、AlipaySDK.framework两个文件导入到我们的项目中。
3.当我们导入上面的两个包时,按cmd+B编译一下,会出现一系列错误如图:
此时我们看到的是i386错误,我们解决此问题的方法就是把AliSDKDemo中的openssl、Util、Order.h、Order.m、APAuthV2Info.h、APAuthV2Info.m这几个文件导入我们的项目中。
4.当导入以上文件时,我们再编译一下,会出现如下经典错误:
面对如此错误,我们需要配置一下Header Search Paths,如图:
5.当配置好以上内容时,又会出现以下错误,如图:
此时,我们需要做两步:
a. 拷贝AliSDKDemo中的libcrypto.a、libssl.a到我们项目中的Frameworks中
b. 把SystemConfiguration.framework添加到项目中。此时编译一下,错误全无。
6.所有的第三方libraries的截图如图所示:
此时我们就可以进行支付了。
心得及注意点:
1. 当我们在项目中集成支付宝支付功能时,一定要打开支付宝官方demo和文档,按照文档上的步骤进行环境部署。
2. 当我们在写head search paths时,我们把AlipaySDK放到哪个目录下就将其指定到哪个目录,这个不能写错。支付宝官方demeo中把AlipaySDK放到了项目根目录中,这点容易引起错误。
3. 一定不要忘了配置URL Schema,这点非常重要。
4. 当我们遇到i386错误时,一般情况下就是在target->Build Phases中的Compile Sources、Link Binary With Libraries中的错误造成的,因为阿里支付是三方框架中有动态库的内容。这点一定要注意。
5. 如果我们只是自己写一个小demo把支付宝支付加入进来,那么我们一定要认真查看支付宝官方demo中的Product这个类,严格遵循支付宝的规则。
6. 倘若各种环境都配好了,仍然报i386错误,并且带有ViewController.o错误,那么我们可以看到这是ViewController类编译错误,说明ViewController类写的有问题,这很可能是你在ViewController中遗失了Product类的实现部分。倘若如此,加上便成。
7. 我们在做项目开发的时候应该注意,不应该轻易简单地把第三方类库或者文件直接拉到我们的项目中,尽量用导入。因为直接拉入我们的项目中很可能会因为找不到路径而出现错误。
8. 我们要肯定,利用模拟器是可以完成支付宝支付功能的。一定是我们的账号上扣除了钱,对方账号收到了钱为唯一判定继承支付功能成功标志。
9. 当我们的项目出现ALI64错误的时候,一般情况下都是公司提供的私钥错误。请认真让客户核对他们的公钥私钥。
10. 我们在iphone上继承支付宝支付功能时,在我们的IOS代码中用不到公钥,这点一定要悉知。