收藏
评论

Universal Link校验不通过/接入新SDK,跳到微信后再回跳App,流程就中止?官方

Q:Universal Link校验不通过,无法调起微信支付?

A:请开发者在调用register接口前,打开WXApi.h的日志接口,观察报错日志和原因:

+ (voidstartLogByLevel:(WXLogLevel)levellogBlock:(WXLogBolock)logBlock


Q:接入新SDK,跳到微信后再回跳App,流程就中止?

A:1. 首先,微信唤起App,App一定会收到系统回调。请确认系统回调是Scheme回调还是Universal Links回调。

2. 如果是Scheme回调,请检查是否走了UISceneDelegate(XCode11构建的项目),或是UIApplicationDelegate。它们的回调方法分别是


- (void)scene:(UIScene *)scene openURLContexts:(NSSetUIOpenURLContext *> *)URLContexts;

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionaryUIApplicationOpenURLOptionsKeyid> *)options;


3. 如果是Universal Links回调,同样也检查是否走了UISceneDelegate(XCode11构建的项目),或是UIApplicationDelegate。它们的回调方法分别是

- (void)scene:(UIScene *)scene continueUserActivity:(NSUserActivity *)userActivity

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArrayidUIUserActivityRest
oring>> * __nullable restorableObjects))restorationHandler


4. 因为考虑兼容旧版本微信,因此无论Scheme或Universal Links回调都必须处理。 在重写回调方法后,需要分别调用WXApi的handleOpenUrl和handleOpenUniversalLink方法


示例:


- (voidscene:(UIScene *)scene continueUserActivity:(NSUserActivity *)userActivity {
        return [WXApi handleOpenUniversalLink:userActivity delegate:self


- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:void(^)(NSArrayidUIUserActivityRest
oring>> * __nullable restorableObjects))restorationHandler {
return [WXApi handleOpenUniversalLink:userActivity delegate:self];


https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Access_Guide/iOS.html

131127浏览
最后一次编辑于  2020-01-14
知识库内容非实时更新,可能已过期、失效或不适用于当前情形,请谨慎参考
收藏
反馈

67 个评论

  • Bourne
    Bourne
    2021-02-02

    加上这个代码试试

    2021-02-02
    赞同
    回复
  • 笨笨哥
    笨笨哥
    2021-01-20

    本人第五部完成后,没有执行第六步, 按照文章内所提到的,都已经添加了

    -(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options
    {
        [WXApi handleOpenURL:url delegate:[BDPayManager shareManager]];
        return YES;
    }
    
    /**
     这个是超链接拦截处理
     */
    -(BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler
    {
        [WXApi handleOpenUniversalLink:userActivity delegate:[BDPayManager shareManager]];
        return YES;
    }
    //微信注册 这个是在服务器后台添加的通配符形成的链接,两者必须保持一致
        [WXApi registerApp:WechatAppKey universalLink:@"https://procnd.haohaoxiuche.com/czbd/web/app/share/"];
    

    1、LSApplicationQueriesSchemes也添加了

    2、URL Types

    该添加的都已完成,真的是奇怪,但是有一个问题,我两个手机一样的代码,用下面这张方式居然一个成功一个显示bunldID校验不对

    希望官方能给我答复吧,着急等呢,appid 为; wxaff733268723d925


    2021-01-20
    赞同
    回复 1
    • 笨笨哥
      笨笨哥
      2021-01-20
      服务端超链接文件apple-app-site-association都已经配置好了, 并且可以通过Safari浏览器打开指定页面的时候显示通过app打开
      2021-01-20
      回复
  • Fenrir
    Fenrir
    2020-12-18

    属于回调问题

    - (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray<id<UIUserActivityRestoring>> * __nullable restorableObjects))restorationHandler{

        return [WXApi handleOpenUniversalLink:userActivity delegate:self];

    }

    如果该方法也可以用下面的方法

    // NOTE: 9.0以后使用新API接口

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

    {

    if ([url.host isEqualToString:@"resendContextReqByScheme"]) {

            //调用分享sdk

            [WXApi handleOpenURL:url delegate:self];

        }

        

        return YES;

    }

    2020-12-18
    赞同
    回复
  • 鱼泪
    鱼泪
    2020-12-08

    跳到微信后再回跳App,流程就中止

    Universal Link配置文件放在根目录还是必须放在.well-known目录下吗?

    paths 直接配置为*不可以吗 ,必须前面要加路径吗?

    2020-12-08
    赞同
    回复
  • 你的名字
    你的名字
    2020-11-16

    你好,接入微信分享的SDK1.8.7.1,跳到微信后再回跳App,流程就中止

    微信回调是通过Universal Link回调的,自检到步骤6后不再继续进行,错误日志

    2020-11-16
    赞同
    回复
  • Triumphant
    Triumphant
    2020-11-03

    App更换bundleId,微信移动应用后台做了更新,并且associate文件也更新了,且都与最新的bundleId保持一致。登录也能成功,但是每次都要弹出二次确认框,请问这个是微信延迟吗?

    2020-11-03
    赞同
    回复
  • 海
    发表于小程序端
    2020-09-17
    到底咋解决呢
    2020-09-17
    赞同
    回复
  • 千里
    千里
    2020-09-11

    我也是在第6步报错,不过有的手机可以。找到的原因是安装app的时候苹果没有请求对应的通用链接域名,不知道怎么解决。麻烦技术看到麻烦解决下。

    2020-09-11
    赞同
    回复
  • 习惯👉
    习惯👉
    2020-09-10

    自检到第六步就失败 请问下问题出在哪里?已经摸索很久麻烦看下 打印日志如下: 5, 0, Universal Link check failed. The application is launched by WeChat via scheme, Common problems self-check guide: [微信开放平台App iOS端接入新版本SDK 常见问题自查指引]https://developers.weixin.qq.com/community/develop/doc/000ce0403bc9d0ea1a0a67f415b409


    2020-09-10
    赞同
    回复
  • 浅枫
    浅枫
    2020-09-10

    分享成功之后从微信返回不到APP,打印日志如下:

    2020-09-10 16:44:17.591247+0800 SDKSample[3632:1302778] 0, 1, check passed,

    2020-09-10 16:44:17.591419+0800 SDKSample[3632:1302778] 1, 1, check passed,

    2020-09-10 16:44:17.593904+0800 SDKSample[3632:1302778] 2, 1, check passed,

    2020-09-10 16:44:17.611917+0800 SDKSample[3632:1302778] log : wxlog:set property list

    2020-09-10 16:44:17.618327+0800 SDKSample[3632:1302778] 3, 1, check passed,

    2020-09-10 16:44:17.671250+0800 SDKSample[3632:1302778] log : wxlog:launch app with ul only success

    2020-09-10 16:44:17.671326+0800 SDKSample[3632:1302778] 4, 1, check passed,

    2020-09-10 16:44:17.671355+0800 SDKSample[3632:1302778] log : wxlog:Successfully starting WeChat with the universal link.

    2020-09-10 16:44:17.793980+0800 SDKSample[3632:1302800] PBItemCollectionServicer connection disconnected.

    2020-09-10 16:44:19.600141+0800 SDKSample[3632:1302778] 5, 0, Universal Link check failed. The application is launched by WeChat via scheme, Common problems self-check guide: [微信开放平台App iOS端接入新版本SDK 常见问题自查指引]https://developers.weixin.qq.com/community/develop/doc/000ce0403bc9d0ea1a0a67f415b409

    2020-09-10 16:44:19.600334+0800 SDKSample[3632:1302778] log : wxlog:Error:WXCheckULStepResult[success: 0, errorInfo: Universal Link check failed. The application is launched by WeChat via scheme, suggestion: Common problems self-check guide: [微信开放平台App iOS端接入新版本SDK 常见问题自查指引]https://developers.weixin.qq.com/community/develop/doc/000ce0403bc9d0ea1a0a67f415b409]

    2020-09-10 16:44:24.330059+0800 SDKSample[3632:1302778] log : wxlog:send req[], appID:wx38099f800a28fb4a, universalLink:https://bbuat.kaitaiming.com/lifeInsureAgentBaoBao/, sdkVersion:1.8.7.1

    2020-09-10 16:44:24.335300+0800 SDKSample[3632:1302778] log : wxlog:set property list

    2020-09-10 16:44:24.375133+0800 SDKSample[3632:1302778] log : wxlog:launch app with ul only success

    2020-09-10 16:44:24.375440+0800 SDKSample[3632:1302778] log : wxlog:launch app with universal link, ret:1

    2020-09-10 16:44:24.375587+0800 SDKSample[3632:1302778] log : wxlog:req:, cid:b5c606ffbb8b948c70f59c4ee7022e8c998afa06

    2020-09-10 16:44:24.474778+0800 SDKSample[3632:1302799] PBItemCollectionServicer connection disconnected.


    2020-09-10
    赞同
    回复 1
    • 方棋
      方棋
      2020-09-15
      解决了吗
      2020-09-15
      回复

正在加载...

登录 后发表内容