收藏
回答

iOS13 微信支付完成后,不走处理支付结果的回调!

iOS13新建项目中,微信支付成功后,点击微信支付完成返回按钮,回到当前app ,没有处理appdelelgate.m 中的 openURL 和 handleOpenURL

方法,无法完成支付结果的处理,是怎么回事啊 ?

回答关注问题邀请回答
收藏

4 个回答

  • Mark2Win
    Mark2Win
    2020-05-18

    target->Info>URL Types:url scheme换成正确的appId


    2020-05-18
    有用
    回复 3
    • Mark2Win
      Mark2Win
      2020-05-18
      这个方案解决了支付不回调的情况,希望可以帮助大家
      2020-05-18
      回复
    • Mark2Win
      Mark2Win
      2020-05-18回复Mark2Win
      (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
       
             if ([url.scheme isEqualToString:WXKey]){
                  return [WXApi handleOpenURL:url delegate:[WXApiManager sharedManager]];
              }
      return YES;
      }
      2020-05-18
      回复
    • 没有硬币的佘不余
      没有硬币的佘不余
      2020-09-25
      WXKey是什么东西和url scheme是同一样东西吗?
      2020-09-25
      回复
  • So What
    So What
    2020-03-26


    01-03

    ios13.3不执行呀

    - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options

    {

        return YES;

    }

    项目是xcode 8还是9创建的,更新了微信新版SDK后就出现不走这个方法了,授权、支付、分享也是一样。后面把xcode上的universalLink故意配置错之后,就能正常走回调了,怀疑就是universalLink的问题导致的不回调,请问怎么解决?

    2020-03-26
    有用
    回复 1
    • 啪嗒嗒
      啪嗒嗒
      2020-03-31
      [3] 重写AppDelegate的continueUserActivity方法:
      - (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray<id<UIUserActivityRest
      oring>> * __nullable restorableObjects))restorationHandler {
      return [WXApi handleOpenUniversalLink:userActivity delegate:self];
      }
      2020-03-31
      4
      回复
  • lengain
    lengain
    2020-03-19

    iOS13应做一下特殊处理。

    在SceneDelegate.swift文件中实现以下方法即可收到回调

        @available(iOS 13.0, *)
        func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
            print(URLContexts)
    
            guard let context = URLContexts.first else {
                return
            }
            WXApi.handleOpen(context.url, delegate: self)
        }
    

        @available(iOS 13.0, *)

        func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {

            print(URLContexts)


            guard let context = URLContexts.first else {

                return

            }

            WXApi.handleOpen(context.url, delegate: self)

        }

    2020-03-19
    有用
    回复
  • 微信支付技术助手1
    微信支付技术助手1
    2019-12-26

    麻烦提供下你的代码参数片段以及部分截图。

    2019-12-26
    有用
    回复 5
    • XH
      XH
      2019-12-26
      如果不是用(Xcode11.3最新版支持iOS13)创建的项目,那么在iOS的手机的任何版本都可以收到支付结果回调


      如果是用(Xcode11.3最新版支持iOS13)创建的项目,在小于iOS13的系统版本可以接收到回调,如果是大于iOS13或等于iOS13 不能收到支付结果回调
      2019-12-26
      回复
    • 叫我小小小小小帅哥
      叫我小小小小小帅哥
      2020-01-03
      ios13.3不执行呀
      - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
      {

          return YES;
      }
      2020-01-03
      1
      回复
    • .
      .
      2020-01-09回复XH
      同样的问题. 如果有ScenDelegate  13版本的回调需要在openURLContexts这里面处理.  但我的分享 在 13 版本上重复出现正在链接  然后直接回到APP.  无法进行分享操作. 只返回下图圈内数据. 不知下一步该如何操作
      2020-01-09
      回复
    • 王健
      王健
      2020-01-14
      您好,我也是相同的问题,请问您解决了么?怎么解决的呀?
      2020-01-14
      回复
    • ʚ 新酱ɞ
      ʚ 新酱ɞ
      2020-03-17回复叫我小小小小小帅哥
      您好,大伙解决了么
      2020-03-17
      回复
登录 后发表内容
问题标签