码迷,mamicode.com
首页 > 移动开发 > 详细

IOS集成支付宝所遇到的两个问题

时间:2015-10-24 11:27:23      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:

1.当程序调用支付宝/快捷支付客户端后,完成订单或者取消订单后无法回到APP页面。

这个问题比较好解决,首先代码调用支付宝提交订单的方法里有一个Scheme的参数,这个是应用程序的Scheme。我这里是"WeCast.iHouse":

[AlixLibService payOrder:orderString AndScheme:@"WeCast.iHouse" seletor:@selector(paymentResult:) target:self];

 

并且,在程序的Info.plist的URL Schemes也要写入相同的名称:

技术分享

这样支付宝在回调时就知道是哪个应用程序打开的,再重定向到这个应用程序。

 

2.当没有安装支付宝/快捷支付客户端的情况下,如果“取消”下载支付宝客户端,那程序会调用网页的形式进行交付操作。但出现一个致命的bug。就是当点击“返回”按钮时,程序会闪退。

技术分享

这个问题太怪异了,错误的地方在UIWindow setRootViewController的时候。

我看了一下AppDelegate文件,是这样的:

 

 WCHomeViewController* homeController = [[WCHomeViewController alloc] init];

    self.window.rootViewController = homeController;

    [homeController release];


解决方案是将homeController声明为属性,所以我改为:

 

AppDelegate.h:

@property (strong, nonatomic) WCHomeViewController * homeController;

AppDelegate.m:

 

  _homeController = [[WCHomeViewController alloc] init];

    self.window.rootViewController = _homeController;


 

OK,这两个问题解决了!

IOS集成支付宝所遇到的两个问题

标签:

原文地址:http://www.cnblogs.com/jiqiaochun/p/4906429.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!