标签:
前两天的项目中
[[AlipaySDK defaultService] payOrder:orderString fromScheme:appScheme callback:^(NSDictionary *resultDic) {
NSLog(@"reslut = %@",resultDic);
}];在运行到这的时候就崩溃了
就崩溃在这个函数,估计在支付宝的SDK里面崩溃,由于支付宝SDK封装了,所以崩溃在这个接口,当时有三个控制器有支付宝支付,其他的两个控制器没有崩溃现象
调试方法:
1)和其他支付宝控制器传入支付宝的参数仔细比较,发现没问题,排除参数问题
2)将的调用支付宝的接口在 ViewDidLoad 里面调用,发现不崩溃,依照类似的方法一步步的延迟支付宝的调用,终于移到特定一行代码之后就出现崩溃,移到特定的代码之前就不崩溃
确定是这一行代码对支付宝SDK 造成的干扰,这一行代码是一个set方法 里面又有30行左右的代码需要执行
3)检查set 方法里面的代码发现搭档在写 view.layer.color = [UIColor redColor]时候使用了桥接,而且在set方法里面有剪圆角,将剪圆角的操作移到awakefromnib 中
view.layer.color = [UIColor redColor]加桥接 改为view.layer.color = [UIColor redColor].CGColor
按照步骤3 优化后 支付宝崩溃问题解决
总结:写代码的时候一定要按照常理出牌,不按常理出牌容易引起莫名其妙的问题。
标签:
原文地址:http://www.cnblogs.com/ios-wang/p/4943760.html