今天项目中要开始动手集成支付宝支付,在此小结一下。(目前新版的支付宝SDK有较大改版,去集成还需要自己去开发平台详细的按照集成步骤来完成https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.4gCPvE&treeId=204&articleId=105295&docType=1,上面有集成步骤,这里不做介绍,第一次接触的朋友可以先参照demo跑一下)。
 
1.下载最新版本的demo
添加了14个库之后,终于编译通过
 
1、问题:"_OBJC_CLASS_$_CMMotionManager", objc-class-ref in AlipaySDK
 
解决方法:遇到这样的错误,是因为少了CoreMotion.framework
 
Build Phases ->Link Binary With Libraries 下添加库: CoreMotion.framework。

2、问题:'openssl/asn1.h‘ file not found ras.h

 
解决方法:这个是因为openssl,a文件,在Xcode里的header search paths 里添加openssl.a文件的路径。
 
格式如下  $(PROJECT_DIR)/文件夹名    
 
例如在根目录/tools/alipay/openssl.a,就写成 $(PROJECT_DIR)/tools/alipay 就可以了
3、问题:"_OBJC_CLASS_$_UTDevice", referenced from:objc-class-ref in AlipaySDK:
 
解决方法:只要用支付宝demo里面的的AlipaySDK.bundle,和AlipaySDK.framework ,编译就不会出错了.
 
 4.编译项目,会出现以下问题:

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

  

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

  解决办法:只需要在出现错误的文件中导入这些类库即可

  

  2)‘openssl/asn1.h‘ file not found

  

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

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

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

  

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

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

  

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

  

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

 

三个地方一致:

 

在info.plist文件中添加:

待续:后面发现坑继续填补。。。

ios 记录支付宝集成遇到的坑及解决方法的更多相关文章

  1. iOS中支付宝集成

    iOS中支付宝集成 如今各种的App中都使用了三方支付的功能,现在将我在使用支付宝支付集成过程的心得分享一下,希望对大家都能有所帮助 要集成一个支付宝支付过程的环境,大致需要: 1>公司:先与支 ...

  2. 记一次SpringBoot 开发中所遇到的坑和解决方法

    记一次SpringBoot 开发中所遇到的坑和解决方法 mybatis返回Integer为0,自动转型出现空指针异常 当我们使用Integer去接受数据库中表的数据,如果返回的数据中为0,那么Inte ...

  3. 无法启动 Maya 集成的 qt designer 的解决方法和原因 以及 中英文切换

    无法启动 Maya 集成的 qt designer 的解决方法和原因 以及 中英文切换 前言: Maya 集成了 PySide,同时集成了qt designer,在 Maya 的安装目录下的 bin ...

  4. 入坑Intel OpenVINO:记录一个示例出错的原因和解决方法

    今天试用OpenVINO的例子,在过程中发现了一些其他人没有经历的坑特别记录一下. 出错时候:执行Intel OpenVINO示例的是时候,出错的提示代码: 用于 .NET Framework 的 M ...

  5. 记录一下Vray5中文汉化版本中导出EXR或vrimg多通道文件的那些坑和解决方法

    最近在给一个培训机构代课,学生英语基础差,就安装了Vray5的中文版,噩梦从此开始. 做过合成的都知道,需要输出多通道到NUKE或者AE中进行合成,通常情况下把多个pass分成不同的文件对硬盘反复读写 ...

  6. iOS拓展:react-native创建工程的坑和解决方法

    正文 首先,在创建工程之前,你需要有环境.这个网上很多,不赘述. 我们直接从创建工程开始,一步步记叙这过程. 坑一 一.打开终端,cd到你放文件的位置(我放在桌面了): yuqideMacBook-A ...

  7. 流程引擎Activiti系列:在eclipse中搭建咖啡兔的Activiti演示工程中的各种坑及其解决方法(kft-activiti-demo-no-maven)

    近期在学习activiti,打算基于现有的框架,比如activiti-explorer或者咖啡兔的示例工程 kft-activiti-demo,在此基础上添加自己的业务流程,看看是否可以走通,以及这个 ...

  8. darknet集成遇到的问题以及解决方法

    将darknet集成进工程时,遇到了一些问题,下面记录一下解决方法: 集成步骤: 首先在yolo编译的时候,需要将三个开关打开: #define GPU#define CUDNN#define OPE ...

  9. CocoaPods更新过程中出现的坑及解决方法

    如果CocoaPods很久没有更新,那么在search.install.update,都会强制升级他的repo,然后如果安装他正常的安装程序,从github上下的时候,你会发现,这个过程不管你FQ不F ...

随机推荐

  1. MyEclipse创建WebService

    使用Eclipse的话还要装web tool platform很多东西,用MyEclipse一步到位,创建WebService很方便. MyEclipse中有自己的Tomcat,要把事先在电脑上独立安 ...

  2. windows下python 编码问题

    windows下py文件编码: 当print 时遇到unicode 会根据系统编码转换, 而raw_input 中的输出遇到unicode编码是不会的转码的,会报错UnicodeEncodeError ...

  3. JavaMail 发送邮件

    JavaMail邮件发送 引用maven jar包 <dependency> <groupId>javax.mail</groupId> <artifactI ...

  4. Mac下获取AppStore安装包文件路径

    通过远在大洋彼岸的苹果服务器下载东西,确实有够慢啊!AppStore更甚:甚至都经常提示连不上服务器,而有些软件呢,还必须从AppStore下载安装,所以没办法,谁让上了苹果的贼船呢!公司的网速更是不 ...

  5. BZOJ 1592: [Usaco2008 Feb]Making the Grade 路面修整

    Description FJ打算好好修一下农场中某条凹凸不平的土路.按奶牛们的要求,修好后的路面高度应当单调上升或单调下降,也就是说,高度上升与高度下降的路段不能同时出现在修好的路中. 整条路被分成了 ...

  6. BZOJ 1620: [Usaco2008 Nov]Time Management 时间管理

    Description Ever the maturing businessman, Farmer John realizes that he must manage his time effecti ...

  7. SaltStack的salt-api里如何指定用户执行cmd.script

    在杨威的协助下,命令行,API调用都完美搞定. 主要是RUNAS参数的位置,以及它作为CURL POST -D DATA的使用. salt '1.2.3.4' cmd.script "sal ...

  8. 移动应用产品开发-android开发(一)

    最近公司希望增添移动开发业务,进行移动互联网开发的调研及产品需求调研. 我主要负责技术解决方案的研究,从android开发开始学习.同时跟经理一起与其他部门同事沟通了解移动开发方面的需求. 在了解an ...

  9. SPRING IN ACTION 第4版笔记-第二章WIRING BEANS-008-在XML配置文件中引入JAVA配置文件 <import> 、<bean>

    一.在xml中引入xml,用<import> <?xml version="1.0" encoding="UTF-8"?> <be ...

  10. ArrayList集合排序

    using System;using System.Collections;using System.Collections.Generic;using System.Text; namespace ...