环迅支付

最近开发用到环迅支付,版本号是1.0.0的。


直接进入主题:

开发看文档就可以,值得注意的是会遇到几个问题。

1.第三方HBRSAHandler拖进项目会爆错。

解决方法:在Build Settings -> Header Search Paths 地方双击,添加以下一行文字(具体路径根据实际情况写):


"$(SRCROOT)/IPS/ADD/HBRSAHandler/openssl/include"


2.然后会爆一个bitcode的错。

解决方法:在Build Settings -> Enable Bitcode 地方设置为NO;

3.运行发现可以调用环迅,但是支付不了。

这是因为环迅的AFNetworking跟我的不一样,我的是cocoapods导入的,然后就得改cocoapods里面的AFURLResponseSerialization.m文件,代码如下:


@implementation AFJSONResponseSerializer

+ (instancetype)serializer {

           return [self serializerWithReadingOptions:(NSJSONReadingOptions)0];  

}

+ (instancetype)serializerWithReadingOptions:(NSJSONReadingOptions)readingOptions {

          AFJSONResponseSerializer *serializer = [[self alloc] init];  

          serializer.readingOptions = readingOptions;

          return serializer;

}

- (instancetype)init {

         self = [super init]; 

         if (!self) {

              return nil;

         }

//    self.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript", nil];

          self.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json",               @"text/javascript",@"text/html",@"charset=UTF-8", nil];

          return self; 

}


其实就是找到AFJSONResponseSerializer里面的


self.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript", nil];


注释掉并改成:


self.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript",@"text/html",@"charset=UTF-8", nil];


因为环迅sdk的请求是要用到@"text/html",@"charset=UTF-8"这两种的,而本身AFNetworking是没有需要外部手动添加到请求头到,但由于sdk里面的代码改不了,所以只能在AFNetworking里改了,估计后期环迅会修复这个bug。改AFNetworking的时候会问你解不解锁,选Unlock就可以了。

再运行就可以了。

(没提及的按开发文档内容写就好了!)

你可能感兴趣的:(环迅支付)