fetch loginToken failed

标签: #<Tag:0x00007f658b2f23b0>

电信手机,返回总是loginToken获取失败。
report content {

time = 1568690441,

code = 6001,

message = fetch loginToken failed,

type = logintoken_info,

token_response = (

{

resultMsg = topClass not found in config,

resultCode = 30910,

authOperator = CT

}

电信reportData:{

resultMsg = topClass not found in config,

resultCode = 30910,

authOperator = CT

}

这是在授权页面弹出之后,点击登录调用JVERIFICATIONService.getAuthorizationWith()返回的。

1、你使用的SDK版本多少?提供应用的 Appkey 值
2、请提供一下完整的客户端日志信息,从初始化开始到报错。

UIViewController * findEAccountAUthVC(UIViewController *vc) {
    if (vc.presentedViewController) {
        return findEAccountAUthVC(vc.presentedViewController);
    } else if ([vc isKindOfClass:[UISplitViewController class]]) {
        UISplitViewController *sp = (UISplitViewController *)vc;
        return sp.viewControllers.count > 0 ? findEAccountAUthVC(sp.viewControllers.lastObject) : vc;
    } else if ([vc isKindOfClass:[UINavigationController class]]) {
        UINavigationController *na = (UINavigationController *)vc;
        return na.viewControllers.count > 0 ? findEAccountAUthVC(na.topViewController) : vc;
    } else if ([vc isKindOfClass:[UITabBarController class]]) {
        UITabBarController *ta = (UITabBarController *)vc;
        return ta.viewControllers.count > 0 ? findEAccountAUthVC(ta.selectedViewController) : vc;
    }
    return vc;
}

UIViewController * EaccountAuthCurrentVC() {
    __block UIWindow *normalWindow =[[UIApplication sharedApplication] keyWindow];
    NSArray *windows = [[UIApplication sharedApplication] windows];
    if (normalWindow.windowLevel != UIWindowLevelNormal) {
        [windows enumerateObjectsUsingBlock:^(__kindof UIWindow * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
            if (obj.windowLevel == UIWindowLevelNormal) {
                normalWindow = obj;
                *stop        = YES;
            }
        }];
    }
    
    UIViewController *rootVC = normalWindow.rootViewController;
    return findEAccountAUthVC(rootVC);
}

+(NSString *)topVC{
    UIViewController *getAuthCurrentVC = EaccountAuthCurrentVC();
    NSString *topVcName =NSStringFromClass([getAuthCurrentVC class]);

    return topVcName;
}

请在拉起授权页面打印下这个

另外,请给一下你们拉起页面的代码。

打出来的就是拉起授权页的之前这个页面。

麻烦按照之前的方法给出打印的结果。

打出来的就是拉起授权页的之前这个页面。

经研发分析:

授权页弹出后,点击登录按钮不需要再次调用getAuthorization接口。请参照对应版本demo和文档集成sdk,如再有问题,请提供复现demo

请问现在使用是否还存在异常

存在。
这里看到一个可能问题
在https://open.e.189.cn/openapi/gbcs/auth/nh.do验证请求时,UA是%E5%AD%95%E6%9C%9F%E6%8F%90%E9%86%92/7 CFNetwork/1098.7 Darwin/19.0.0
是不是这个原因返回

{
	"result": 30910,
	"msg": "topClass not found in config",
	"responseData": null
}

这是请求参数
c=8236412928&ce=30300&mp=1569402768461&py=9d2dc9c6a8b66c96041597305c11cb43f6b57e63a015d71b803f89cd98b4fa086c3ac8ca6bf66a6b7bb8a8dd6c1068c1919c172742e8c2b578163b1507896398774373e9d1496f8b9a1183b13a13da88c38efdf30744d430772a63e6d219829a91296c5fd310465dd581234169e6231b7195715977de9c552961146f23d411d0&ms=D6FAEFA716D1B67503FA694EF5D37859C8C4CC670DED69D4E1DE37D2B9C4641C59500F3CCE0F8E7E53DE0A3AA054BCD8C805C9D0DCEFED16C3A50FBF9A98BC5498BCDB3FF2082489D444EFCEE91FFF8FED2BEC9C97FE39AF1E31699D4E4DAC73565884ABAA5BAC5B75682F924C28EE608D56B77A83DB72E1462DE55B780983240723E0C0CDB3D0B9D609182271C07A57E458FE62B3E2630B090B3EBAFCD16E171CB3EE049938850BEA698BB2EB646F0BE3BF9CBA2FAE2CB5E4561AB414B6D61BD92DE60075F82EE7F1860545A5F3D6DD3A54C9424AC41C3325EF2A7AAABD8B12&f=json&n=ABC0C21D5F1632C8F8860309DA3B2F7863F6D289

我们之前查询你们传给电信的 topClass=GTabBar不正确所以报错,这个参数对应的值SDK是写死的,不应该是你传的这个值。

能提供一下复现 demo 吗?

你运行下极光官方 demo 有没有问题

哦,是这样的吗,不好意思问一下,这个topClass应该是什么呢

你之前给出的代码

if ([vc isKindOfClass:[UITabBarController class]]) {
        UITabBarController *ta = (UITabBarController *)vc;
        return ta.viewControllers.count > 0 ? findEAccountAUthVC(ta.selectedViewController) : vc;
    }if ([vc isKindOfClass:[UITabBarController class]]) {
        UITabBarController *ta = (UITabBarController *)vc;
        return ta.viewControllers.count > 0 ? findEAccountAUthVC(ta.selectedViewController) : vc;
    }

是执行不进去的,因为我们这里的项目GTabBar是继承自UIViewController的自定义的类似于UITabBarController的类。

请问该问题是否有解决,能否提供一个可以复现的 demo 来分析?