运行环境
系统:OS X Yosemite 10.10.3
IDE :Xcode 6.4
语言:Swift 1.2
添加支付宝SDK2.2.3
新建一个文件夹,命名为
AliSDK2_2_3
AliSDK2_2_3
包含:Util
、openssl
、libssl.a
、libcrypto.a
、AlipaySDK.bundle
、AlipaySDK.framework
、APAuthV2Info.h
、APAuthV2Info.m
、Order.h
、Order.m
。把
AliSDK2_2_3
添加到工程添加
SystemConfiguration.framework
(此必需添加的框架)
编译一下,有错误。解决如下:
[x]
Util
文件夹下base64.h
添加#import <Foundation/Foundation.h>
#import <Foundation/Foundation.h>
@interface Base64 : NSObject
+ (NSData *)decodeString:(NSString *)string;
@end
[X]
Util
文件夹下openssl_wrapper.h
添加#import <Foundation/Foundation.h>
[X] Error : Lexical or Preprocessor Issue ‘openssl/asn1.h’ file not found
Targets–>工程–>Build Settings–>Search Paths-->Header Search Paths(可以直接搜索)
–>添加$(PROJECT_DIR)/AlipayDemo/AliSDK2_2_3
或者$(SRCROOT)/AliSDKDemo/AliSDK2_3_3
注:最安全的写法是,查看Framework Search Paths里面对应的路径,其中AliSDKDemo换成你的工程名
支付宝回调应用设置
添加URL types
点击项目名称–>”Info”–>URL Types–>点击’+’–>URL Schemes填写与订单中的一样,Role选择Editor。
Demo
Swift 1.2 支付宝SDK2.3.3集成
AlipayDemo
高能提醒
:如果App类型选择iPad
或者Universal
,那么iPad支付时,会在app内打开内嵌的支付宝页面,即不会跳转到支付宝移动端(即使你已经安装了)
当点击支付,跳转不了的情况
Objective-C
:在调用支付的时候取下[[[UIApplication shareApplication] windows] index:0] 看看hidden属性是否为YES 如果是就隐藏了window,H5就出不来了设置为NO就可以了 [[[UIApplication sharedApplication] windows] objectAtIndex:0]; 或 把您的App中把第0个window的hidden属性改成NO,就可以了Swift
:
(UIApplication.sharedApplication().windows.first as! UIWindow).hidden = false
温馨提示
遇到问题,b.alipay.com/support/helperApply.htm?action=supportHome点击页面右边“有问题点我”