iOS-通过友盟集成-微信支付和微信分享之后-出现回调方法冲突,比如支付成功显示分享成功-解决方法
友盟-微信支付和微信分享回调冲突的问题
回调的入口只要一个
- (BOOL)application:(UIApplication )app openURL:(NSURL )url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
}
调用回调的APP有很多-比如支付宝、微信、微信分享、QQ钱包、QQ分享等等
这种情况下你就需要在 入口出进行判断
- (BOOL)application:(UIApplication )app openURL:(NSURL )url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
// 判断微信是 微信支付的回调还是 微信分享的回调用
if ([[NSString stringWithFormat:@"%@",url] rangeOfString:[NSString stringWithFormat:@"%@://pay",WXAPPKEY]].location != NSNotFound) {
return YES;
}else {
[[UMSocialManager defaultManager] handleOpenURL:url options:options];
return YES;
}
return YES;
}
### 也可以根据 url.host 进行单独判断-- 比如是支付宝的回调-还是微信的回调用
- (BOOL)application:(UIApplication )app openURL:(NSURL )url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
if ([url.host isEqualToString:@"safepay"]) {
}
}