IOS点击QQ登录无法唤起QQ授权只能输入QQ账号密码安卓正常

IOS点击QQ登录无法唤起QQ授权只能输入QQ账号密码安卓正常

产品分类

uniapp/App

PC开发环境

操作系统 版本号
Mac macOS 15.1

手机环境

系统 版本号 厂商 机型
iOS iOS 18 苹果 XR

页面类型

vue

vue版本

vue2

打包方式

云端

项目创建方式

HBuilderX

示例代码:

var that=this;    
var loginService=null;    

for(var i in that.auths){    
    var service=that.auths[i];    
    if(service!=null&&service.id=='qq'){    
        loginService=service;    
        break;    
    }    
}    

if(!loginService){    
    plus.nativeUI.alert("当前环境不支持QQ登录");    
    return;    
}    

var that = this;    
uni.login({    
    provider: "qq",    
    success: function(loginRes) {    
        console.log("loginRes",loginRes)    
        var access_token=loginRes.authResult.access_token;    
        var openid=loginRes.authResult.openid;    

操作步骤:

QQ一键登录
安卓登录一下 正常
IOS登录 直接跳转账号密码登录

预期结果:

调起QQ授权登录

实际结果:

IOS登录 直接跳转账号密码登录

bug描述:

IOS点击QQ登录无法唤起QQ授权,只能输入QQ账号密码,安卓正常。
问了QQ互联的人说 iOS 3.5.17版本。适配18
不知道咋解决了

Image 1
Image 2


3 回复

接入的互联sdk什么版本 不知道


这个问题通常是由于iOS系统对第三方应用授权登录的限制导致的。以下是可能的原因和解决方案:

  1. QQ SDK版本问题: 确保使用的是最新版QQ SDK(iOS 3.5.17+),需要适配iOS 18系统。

  2. Universal Links配置: iOS要求使用Universal Links方式唤起QQ,检查是否已正确配置:

  • 在QQ开放平台配置Associated Domains
  • 项目中配置apple-app-site-association文件
  • 确保域名支持HTTPS
  1. Info.plist配置: 检查项目中是否添加了QQ的URL Scheme:
<key>LSApplicationQueriesSchemes</key>
<array>
    <string>mqqopensdkapiV2</string>
    <string>mqqopensdkapiV3</string>
    <string>mqq</string>
</array>
  1. 打包配置: 在manifest.json中确认已正确配置QQ登录:
"oauth" : {
    "qq" : {
        "appid" : "你的QQ appid",
        "appkey" : "你的QQ appkey"
    }
}
回到顶部