uni-app集成苹果登录时iPad登录报1001错误 iPhone登录正常

uni-app集成苹果登录时iPad登录报1001错误 iPhone登录正常

产品分类:

uniapp/App

PC开发环境操作系统:

Mac

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

Sonoma 14.4.1

HBuilderX类型:

正式

HBuilderX版本号:

4.29

手机系统:

iOS

手机系统版本号:

iOS 17

手机厂商:

苹果

手机机型:

iPad 9

页面类型:

vue

vue版本:

vue2

打包方式:

云端

项目创建方式:

HBuilderX

示例代码:

uni.login({
provider: 'apple',
success: function (loginRes) {
// 登录成功
uni.getUserInfo({
provider: 'apple',
success: function(info) {
// 获取用户信息成功, info.authResult中保存登录认证数据
}
})
},
fail: function (err) {
// 登录授权失败
// err.code错误码参考`授权失败错误码(code)说明`
}
});

在iPad上运行时,直接走了fail,报1001

操作步骤:

在iPad上点击苹果登录,弹出Apple ID 登录对话框,点击“通过触控ID继续”,对话框消失,控制台输出 Error Domain=com.apple.AuthenticationServices.AuthorizationError Code=1001 “(null)”

预期结果:

能正常获取苹果token信息进行业务登录

实际结果:

对话框消失,控制台输出 Error Domain=com.apple.AuthenticationServices.AuthorizationError Code=1001 “(null)”

bug描述:

使用苹果登录时,iPhone登录正常,iPad登录必现 Oauth_apple:Error Domain=com.apple.AuthenticationServices.AuthorizationError Code=1001 “(null)”


更多关于uni-app集成苹果登录时iPad登录报1001错误 iPhone登录正常的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app集成苹果登录时iPad登录报1001错误 iPhone登录正常的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在集成Apple登录到uni-app应用时,遇到iPad登录报1001错误而iPhone登录正常的情况,通常可能与iPad的设备配置、系统权限、或Apple登录服务的特定实现有关。以下是一些可能的解决方案,通过代码示例来展示如何更精确地处理Apple登录流程,并尝试定位问题。

1. 确保Apple登录服务配置正确

首先,确认你的Apple开发者账号中已正确配置了Apple登录服务,并且应用的Capabilities中已启用Sign in with Apple

2. 使用uni-app官方插件或库

确保你使用的是uni-app官方推荐或社区验证过的Apple登录插件。以下是一个假设的Apple登录集成示例,使用JavaScript/TypeScript编写:

// 引入Apple登录库(假设已有一个封装好的库)
import appleAuth from '@uni-plugin/apple-auth';

// 发起Apple登录请求
appleAuth.performRequests({
    requestedScopes: [appleAuth.Scope.FULL_NAME, appleAuth.Scope.EMAIL]
}).then(credential => {
    // 成功获取Apple凭证
    const user = {
        id: credential.user,
        name: credential.fullName.givenName + ' ' + credential.fullName.familyName,
        email: credential.email
    };
    // 保存用户信息或进行后续操作
    console.log('Apple登录成功:', user);
}).catch(error => {
    // 处理错误
    if (error.code === 1001) {
        console.error('特定设备错误1001,可能是iPad特有的配置或权限问题');
    } else {
        console.error('Apple登录失败:', error);
    }
});

3. 检查iPad特定设置

  • 系统权限:确保iPad上的系统设置允许应用访问Apple ID。
  • 应用版本:检查是否所有相关应用(包括uni-app打包的应用)都是最新版本,且兼容当前iPad的iOS版本。
  • 设备兼容性:查阅Apple官方文档,确认Apple登录服务是否支持所有iPad型号和iOS版本。

4. 日志与调试

  • 增加详细的日志记录,特别是在发起登录请求前后,以便捕获更多关于错误1001的信息。
  • 使用Xcode或其他iOS开发工具直接在iPad上进行调试,查看是否有更具体的错误信息或堆栈跟踪。

结论

由于1001错误通常与设备特定问题相关,解决这类问题可能需要多方面的检查和调整。上述代码示例提供了一个基础的Apple登录集成框架,并结合了一些可能的调试方向。如果问题依旧存在,建议深入检查iPad的系统日志,或联系Apple开发者支持获取更专业的帮助。

回到顶部