uni-app 手机一键登录方法 iOS 无返回

uni-app 手机一键登录方法 iOS 无返回

开发环境 版本号 项目创建方式
Mac macOS Sequoia 版本15.6.1 HBuilderX
产品分类:uniapp/App

PC开发环境操作系统:Mac

PC开发环境操作系统版本号:macOS Sequoia 版本15.6.1

HBuilderX类型:正式

HBuilderX版本号:4.85

手机系统:iOS

手机系统版本号:iOS 18

手机厂商:苹果

手机机型:iPhone XR

页面类型:vue

vue版本:vue2

打包方式:云端

项目创建方式:HBuilderX

示例代码:

```javascript
const univerifyManager = uni.getUniverifyManager()

univerifyManager.preLogin()
univerifyManager.login({
    provider: 'univerify',
    univerifyStyle: this.oneLoginStyle,
    success(res) { // 登录成功
        console.log(res)
    },
    fail(res) { // 登录失败
        console.log(res)
    }
})

操作步骤:

const univerifyManager = uni.getUniverifyManager()

univerifyManager.preLogin()
univerifyManager.login({
    provider: 'univerify',
    univerifyStyle: this.oneLoginStyle,
    success(res) { // 登录成功
        console.log(res)
    },
    fail(res) { // 登录失败
        console.log(res)
    }
})

预期结果: success 或者 fail 有回调

实际结果: success 或者 fail 无回调 且等待许久过后依旧没有

bug描述: HBuilderX更新到4.84 4.85 版本 ,ios版本出现此问题,测试机没有插手机卡正常应该直接走fail,univerifyManager.login 的 success 和 fail 均无任何回调


更多关于uni-app 手机一键登录方法 iOS 无返回的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app 手机一键登录方法 iOS 无返回的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在 uni-app 中使用一键登录(univerify)时,iOS 设备上 successfail 回调无响应,通常与配置、网络环境或 SDK 版本兼容性有关。以下是排查方向:

  1. 基础配置检查

    • 确保项目已正确开通一键登录服务,并在 DCloud 开发者中心 配置 iOS 包名(Bundle Identifier)与 AppKey。
    • 检查项目中 manifest.json 的 App 模块配置已勾选「OAuth(登录鉴权)」,并填写正确的 AppKey。
  2. 网络环境问题

    • 一键登录依赖运营商网络(移动/联通/电信)。若测试机未插卡或使用 Wi-Fi,部分运营商可能无法触发认证流程,导致回调停滞。
    • 建议在插入 SIM 卡且启用蜂窝数据的环境中测试。若需模拟无卡场景,可尝试启用飞行模式后切换 Wi-Fi,但部分运营商仍可能不返回失败回调。
  3. iOS 系统权限

    • 在 iOS 14+ 系统中,需在 info.plist 文件配置 NSAppTransportSecurity 允许 HTTP 请求(部分运营商接口未强制 HTTPS),并添加 com.apple.developer.networking.wifi-info 权限(若使用 Wi-Fi 认证)。
  4. 代码逻辑调整

    • 使用 setTimeout 为登录操作添加超时控制,避免无限等待。例如:
      const timeout = setTimeout(() => {
        // 手动处理超时逻辑
      }, 10000);
      // 在 success/fail 回调中清除定时器
回到顶部