uni-app iOS 14.7 苹果登录报错导致审核被拒

uni-app iOS 14.7 苹果登录报错导致审核被拒

示例代码:

uni.login({  
    provider: 'apple',  
    success: async (r) => {  
        //code  
    },  
    fail: (err) => {  
      showtoast(err.errMsg)  # 这里弹出报错了  
    }  
})

操作步骤:

  • 苹果登录

预期结果:

  • 正常登录

实际结果:

  • 报错

bug描述:

如题,iOS 14.7 用苹果登录,返回未知错误,错误码 1000
截图见附件,报错弹出是在 uni.login fail 回调内的 err.errMsg

bug截图

信息
产品分类 uniapp/App
PC开发环境 Mac
PC开发环境版本 11.4
手机系统 iOS
手机系统版本 IOS 14
手机厂商 苹果
页面类型 vue
打包方式 离线
项目创建方式 CLI
CLI版本号 3122

更多关于uni-app iOS 14.7 苹果登录报错导致审核被拒的实战教程也可以访问 https://www.itying.com/category-93-b0.html

8 回复

调试的时候有报错么?

更多关于uni-app iOS 14.7 苹果登录报错导致审核被拒的实战教程也可以访问 https://www.itying.com/category-93-b0.html


调试用的 14.6 没报错 晚点我找个14.7的机器试试

回复 appwociao: 这个应该是特定设备或者环境下 苹果授权问题 应该不是UNI这边的问题 尽量复现问题 找到原因 才好解决

回复 DCloud_iOS_WZT: 我自己测试了14.7是正常的。但是苹果审核了两次都因为这个报错被拒了,不知道啥问题。。

在原生工程 -> Signing&Capabilities-> + Capability 中添加 Sign in with Apple 服务 这一步做了吗?

做了。这个问题应该是小概率出现,我们前几天直接把被拒的包重新提审了,目前app已经审核通过了。

回复 appwociao: 好的,那估计和审核人员使用的设备或网络环境有关系他当时没有跑通

根据你提供的信息,这是一个典型的iOS 14.7系统下苹果登录(Sign in with Apple)报错问题,错误码1000通常表示授权请求失败。这会导致苹果审核被拒,因为苹果要求登录功能必须正常工作。

主要原因和解决方案:

  1. iOS 14.7系统兼容性问题
    iOS 14.7存在已知的苹果登录兼容性问题,部分设备在特定条件下会返回错误。建议在代码中增加系统版本判断,对iOS 14.7及相近版本进行降级处理或提示用户升级系统。

  2. 配置问题检查

    • 确保manifest.json中已正确配置苹果登录权限(iOS模块配置-SignInWithApple)。
    • 检查苹果开发者后台的App ID是否已启用“Sign in with Apple”功能。
    • 确认证书(尤其是推送证书)是否包含苹果登录所需权限。
  3. 代码层改进
    fail回调中增加更详细的错误处理,建议区分错误类型:

    fail: (err) => {
      if(err.errCode === 1000) {
        // 针对1000错误进行降级处理,例如跳转其他登录方式
        uni.showModal({
          title: '提示',
          content: '苹果登录暂时不可用,请使用其他方式登录',
          showCancel: false
        })
      } else {
        uni.showToast({ title: err.errMsg, icon: 'none' })
      }
    }
回到顶部