微信使用UniversalLinks后,自检函数都通过,但是微信登录APP不出现授权的页面。
发布于 19 天前 作者 yeyang 3313 次浏览 最后一次编辑是 18 天前 来自 分享

微信使用Universal Links后,设置自检函数都通过,但是微信登录APP不出现授权的页面,。

报错wxlog:Error:set token fail, errCode:4, errLog:wx token[] or contextId[(null)] is nil!

我用的是友盟,集成友盟的微信完整版后,以前写的一些方法是在这里

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

这个方法里以前怎么写,现在也不用动。需要新写个方法

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

      NSLog(@"userActivity : %@",userActivity.webpageURL.description);

    if (![[UMSocialManager defaultManager] handleUniversalLink:userActivity options:nil]) {

        // 其他SDK的回调

          }else{

        return [WXApi handleOpenUniversalLink:userActivity delegate:[WXApiManager sharedManager]];

    }

    return YES;    

}

WXApiManager 是我写的一个封装类,如果你没有这个类。就不这样写。

如果你原来在- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options

这个方法里写的关于微信是这样的return [WXApi handleOpenURL:url delegate:self];

那么这句话   return [WXApi handleOpenUniversalLink:userActivity delegate:self];的后边的代理也写self   

AppDelegate 里面写 WXApiDelegate这个,遵循协议。

反正[WXApi handleOpenUniversalLink:userActivity delegate:self] 后边的代理和原来 [WXApi handleOpenURL:url delegate:self];这个后边的代理保持一致。



这是我遇到的问题,并且解决好了的,网上看也有一些人遇到类似的,都在问。就写了下来。写的可能有点乱,有哪点不清楚的,可以回复我,我看到会回复你们。


回到顶部