uni-app HBuilderX3.4.7 项目运行到iOS app基座,uni.getSystemInfo能获取手机系统信息,但uni.getProvider获取不到‘apple’,无法测试苹果登录

uni-app HBuilderX3.4.7 项目运行到iOS app基座,uni.getSystemInfo能获取手机系统信息,但uni.getProvider获取不到‘apple’,无法测试苹果登录

开发环境 版本号 项目创建方式
PC开发环境操作系统 Windows
PC开发环境操作系统版本号 Windows 10 21H2
HBuilderX版本号 3.4.7

示例代码:

uni.getSystemInfo({  
    success: (res) => {  
        this.system = res.system  // iOS 15.4.1   
        this.platform = res.platform  // ios  
    }  
})
uni.getProvider({  
    //获取第三方登录类型  
    service: 'oauth',  
    success: function(res) {  
        console.log('res.provider', res.provider)  // ["qq", "google", "univerify", "weixin", "facebook", "sinaweibo"]  
    },  
    fail: err => {  
        uni.showToast({  
            title: '登录失败',  
            icon: 'none'  
        })  
    }  
})

操作步骤:

新建uniapp项目,在onLoad钩子函数中书写上述示例代码。准备一台iOS13+的苹果手机,将手机连接电脑,将项目运行到iOS app基座,即可复现。

预期结果:

res.provider的数组中应该有'apple'

实际结果:

res.provider的数组中应该没有'apple'

bug描述:

可以获取到手机系统信息,无法获取provider里面的 'apple'


更多关于uni-app HBuilderX3.4.7 项目运行到iOS app基座,uni.getSystemInfo能获取手机系统信息,但uni.getProvider获取不到‘apple’,无法测试苹果登录的实战教程也可以访问 https://www.itying.com/category-93-b0.html

7 回复

苹果登录 勾选没有

更多关于uni-app HBuilderX3.4.7 项目运行到iOS app基座,uni.getSystemInfo能获取手机系统信息,但uni.getProvider获取不到‘apple’,无法测试苹果登录的实战教程也可以访问 https://www.itying.com/category-93-b0.html


您好,manifest.json里面的‘苹果登录’有勾选。打包安装到手机可以调起苹果登录,运行到iOS app基座无法调起苹果登录。

回复 h***@sina.com: 楼主,这个问题后面解决了吗?

这个偶现,最后解决了么

不是偶现哦,真机模拟的时候,确实是勾选了‘苹果登录‘也获取不到apple!

有解决吗?

uni-app 项目中,使用 uni.getProvider 获取服务提供商时,如果无法获取到 apple,可能是由于以下原因导致的:

1. iOS 基座配置问题

  • 确保你使用的是 HBuilderX自定义基座,而不是标准基座。标准基座可能没有包含苹果登录的配置。
  • HBuilderX 中,选择 运行 -> 运行到手机或模拟器 -> 运行到 iOS App 基座,并确保使用的是自定义基座。

2. manifest.json 配置

  • manifest.json 文件中,确保已经正确配置了苹果登录的相关信息。
  • 打开 manifest.json,找到 App SDK 配置 -> iOS,确保 Sign In with Apple 已经启用。
{
  "app-plus": {
    "ios": {
      "capabilities": {
        "Sign In with Apple": true
      }
    }
  }
}

3. iOS 开发者账号配置

  • 确保你的 iOS 开发者账号已经启用了 Sign In with Apple 功能。
  • Apple Developer 网站中,进入你的 App ID 配置页面,确保 Sign In with Apple 已经启用。

4. 代码检查

  • 确保你在代码中正确调用了 uni.getProvider 方法,并且处理了返回结果。
uni.getProvider({
  service: 'oauth',
  success: function (res) {
    console.log(res.provider); // 检查是否包含 'apple'
  },
  fail: function (err) {
    console.error(err);
  }
});
回到顶部