uni-app 微博登录ios调起微博后跳回app未执行回调,微博网页授权登录正常

uni-app 微博登录ios调起微博后跳回app未执行回调,微博网页授权登录正常

项目信息 详情
产品分类 uniapp/App
PC开发环境操作系统 Mac
PC开发环境操作系统版本号 14.5
HBuilderX类型 正式
HBuilderX版本号 4.24
手机系统 iOS
手机系统版本号 iOS 17
手机厂商 苹果
手机机型 iphone12pro
页面类型 vue
vue版本 vue2
打包方式 云端
项目创建方式 HBuilderX

操作步骤:

  • 微博授权登录

预期结果:

  • 返回app拿到用户信息

实际结果:

  • 不执行回调

bug描述:

  • 微博登录ios调起微博后,跳回app没有执行回调,用微博网页授权登录没有问题

更多关于uni-app 微博登录ios调起微博后跳回app未执行回调,微博网页授权登录正常的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app 微博登录ios调起微博后跳回app未执行回调,微博网页授权登录正常的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在处理uni-app中微博登录iOS调起微博后跳回app未执行回调的问题时,首先需要确保你已经正确集成了微博SDK,并且配置了相关的回调URL。由于你提到微博网页授权登录正常,这可能指向了iOS端SDK集成或回调处理的问题。以下是一个基本的代码案例和检查步骤,帮助你定位和解决问题。

1. 确保微博SDK正确集成

首先,确保你的uni-app项目中已经正确集成了微博SDK。对于iOS,你需要在Xcode项目中手动添加微博SDK,并配置URL Scheme。

2. 配置微博回调URL

在Xcode项目的Info.plist文件中,确保你已经添加了微博的回调URL Scheme,例如:

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>wbYOUR_APP_KEY</string> <!-- 替换为你的微博App Key -->
        </array>
    </dict>
</array>

3. 在uni-app中调用微博登录

在uni-app中,你可能使用了plus.oauth.login方法来调起微博登录。确保传递了正确的参数,特别是appidredirect_uri。以下是一个示例代码:

plus.oauth.login("weibo", {
    appid: "YOUR_APP_ID", // 微博App ID
    redirect_uri: "YOUR_REDIRECT_URI", // 与微博后台配置的回调地址一致
    scope: "email" // 请求的权限范围
}, function (e) {
    if (e.code) {
        // 获取到code,后续通过code换取access_token
        console.log("Login success, code: " + e.code);
    } else {
        console.error("Login failed: " + e.msg);
    }
}, function (e) {
    // 取消登录回调
    console.log("Login canceled: " + e.msg);
});

4. 检查微博SDK回调处理

在iOS原生代码中,确保你已经正确实现了微博SDK的回调处理。通常,这需要在AppDelegate中添加如下代码:

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
    if ([url.scheme isEqualToString:@"wbYOUR_APP_KEY"]) { // 替换为你的微博App Key
        return [WeiboSDK handleOpenURL:url options:options];
    }
    return YES;
}

注意,从iOS 9开始,openURL:options:方法替代了openURL:sourceApplication:annotation:

5. 调试和测试

  • 确保微博App已安装并登录。
  • 使用Xcode的Debug模式运行你的应用,观察控制台输出,检查是否有错误信息。
  • 检查微博开发者后台的配置,确保回调URL与你的应用配置一致。

通过上述步骤,你应该能够定位并解决uni-app中微博登录iOS回调未执行的问题。如果问题依旧存在,建议检查微博SDK的更新日志或联系微博开发者支持获取更多帮助。

回到顶部