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"]) {

    }

    
}