本错误仅仅是本人在集成“支付宝支付接口开发包2.0标准版(2016516)2”过程中收集的错,部分可能试用于其他版本,也可能不适用,以实际开发为主。
一.导入AlipaySDK.bundle 和 AlipaySDK.framework,并且按照官网导入相关的库
![](https://img.haomeiwen.com/i4144572/97afd3aeb1f9eb87.png)
完成这一步可能遇到的错误:
"_OBJC_CLASS_$_UIDEVICE" referenced from: object-class-ref-in AlipaySDK
linker command failed with exit code1
![](https://img.haomeiwen.com/i4144572/571c79caf0d8c326.png)
下载的支付宝demo 是这样的文件夹目录
![](https://img.haomeiwen.com/i4144572/6e84138796ffe01e.png)
1.AlipaySDK.bundle 和 AlipaySDK.framework这两个文件有两个出处:
一个是demo里面的,如下图:
![](https://img.haomeiwen.com/i4144572/bb1a542eec042075.png)
一个是AlipaySDK里面的
![](https://img.haomeiwen.com/i4144572/d492ffcdcb49b0c3.png)
在集成过程中,你导入demo里面的文件,那恭喜你,没什么问题,但是如果导入AlipyaySDK_No_UTDID,那你就麻烦了,报错刚好就是上面提到的错误。
所以:在导入SDK的时候,要找到相应的地方。到底用哪个看个人情况;
二、导入openssl ,Util 文件文件之后编译报错
报错如图:
![](https://img.haomeiwen.com/i4144572/685f2021ae04b315.png)
这个简单:只要在箭头所指的地方增加这行代码#import <Foundation/Foundation.h>,
添加完之后如图:
![](https://img.haomeiwen.com/i4144572/4b613d072ecc1d3a.png)
然后编译(command +B)之后还会有报错:如图
![](https://img.haomeiwen.com/i4144572/3169e62cd63f8823.png)
这个也简单,在报错的地方导入<UIKit>
导入完之后效果图:
![](https://img.haomeiwen.com/i4144572/d87579642cd2f220.png)
但是还有错误,这个错误是说找不到openssl 文件,
好吧!我们要想办法让它找到openssl文件,在build setting 里面搜索search,效果图如下:
![](https://img.haomeiwen.com/i4144572/aea29ea8c0897efb.png)
在这里添加文件路径,如下图操作:(这一步报错官网,有提到,对于一些新手可能还不足以解决他们的问题,下面会说怎么回事)
![](https://img.haomeiwen.com/i4144572/0be0900950516d82.png)
-----这一步其实是导入openssl文件的路径,但是怎么才能正确导入呢?,如果按照官网的操作,老鸟知道怎么回事,新手就蛋疼了,这里就得说说文件路径的事情
当你输入$(SRCROOT) ,这个代表工程文件根路径,如下图
![](https://img.haomeiwen.com/i4144572/88ca32d13c6afb60.png)
输入$(SRCROOT),只能找到箭头所指文件下的子目录文件(别问我子目录是什么),
你要找到Base.iproj 文件,就得输入$(SRCROOT)/AliSDKDemo;
你要找到main.m ,就得输入$(SRCROOT)/AliSDKDemo;
接下来你要找openssl文件了.......
走完这一步,还没完,接下来的报错,也是十分头疼的....报错如下:
![](https://img.haomeiwen.com/i4144572/76dd56e73f296476.png)
如果你用自己的算法当然不会遇到这样的错误(请无视这里),
在demo里面系统藏了两个头文件(其实是静态库了)如下图:
![](https://img.haomeiwen.com/i4144572/b7163dde41e7c02e.png)
直接导入到你的工程文件中,,,做完这一步,所有的报错都解决了
网友评论