您的位置:首页 > 移动开发 > IOS开发

ios 集成 支付宝 遇到的各种问题 总结

2016-04-05 11:39 531 查看
一 。新建一个aliPaySDK文件夹,将支付宝SDK包中以下文件放到此文件夹里,在xcode中添加此文件夹。



屏幕快照 2016-02-16 下午2.48.32.png

二 。添加Frameworks

参照支付宝DEMO 里面的Frameworks,它里面有什么你就添加什么。一定不能少



74C3EFBE-AFB7-4E0B-BC7F-79A7286F56A4.png

如果少了,会出现类似以下错误

缺少 SystemConfiguration.framework 这个库:



755161-20150929201159590-2096005752.png

缺少 CoreMotion.framework 这个库:



屏幕快照 2016-02-16 下午2.24.59.png

三 .编译项目,会出现以下问题:

  1)"Unknown type name ‘NSString‘ "或者"Unknown type name ‘NSData‘ "等不识别常见类的问题。



764983-20151013101442319-580589991.png

这是因为缺少Foundation类库和UIKit类库,支付宝Demo中之所以没有出现此错误,是因为在.pch文件中导入过这些类库。

再自己的项目里创建pch文件,导入

import <UIKit/UIKit.h>

import <Foundation/Foundation.h>

文件夹即可。



pch.png

2)集成SDK编译时找不到 openssl/asn1.h 文件



openssl.png

这是openssl文件夹头文件链接问题,如果openssl文件夹随意拉进项目中,即使添加头文件链接,也可能解决不了此问题,

这也是问什么一开始就将所需要的文件放到一个新建文件夹中再添加到项目中的原因。

解决办法:Targets->Build Settings->Header Search Path中添加1中建立的aliPaySDK文件夹的路径(拖拽此文件夹至输入框即可)



searchPath.png

3)根据项目需求添加demo中ViewController中的代码 编译后可能会出下面错误:

  "OBJC_CLASS$_Product", referenced from: objc-class-ref in ViewController.o

  



技术分享

  AlipaySDK的demo中将Product的定义写在了ViewControler.h中所致

  



技术分享

  解决办法:新建Product类,将ViewController中的代码拷贝过去即可。

  



技术分享

三,添加支付逻辑代码,完成支付过程。

直接把Demo中APViewController类里面的代码拷贝出来即可。

文/迅仔(简书作者)

原文链接:http://www.jianshu.com/p/badee8125184

著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: