欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。
你好!你描述的情况非常典型,这是一个 iOS 证书和签名配置不一致导致的问题。我来帮你梳理一下原因和解决方案。
核心原因分析
你的问题根源在于:一键登录(UniVerify)服务在后台绑定的签名证书信息,与实际打包时使用的证书不匹配。
结合你提到的信息,这个流程是这样的:
- 调试阶段(自定义基座):你使用的是 开发(Development)证书 制作的自定义基座,并且很可能在开通一键登录服务时,绑定的是这个开发证书的签名信息(如包名、Bundle ID等)。所以调试是正常的。
- 发布阶段(TestFlight / AppStore):你使用的是 发布(Distribution)证书 进行云打包。这个证书和你之前绑定的开发证书是两套完全独立的证书,它们的签名信息是不同的。一键登录服务端不认识你的发布证书,因此验证失败,导致无法获取手机号。
解决方案
你需要在一键登录服务后台,为你的应用增加或更新为 发布(Distribution)证书 的签名信息。具体步骤如下:
第一步:获取发布证书的签名信息
既然你已经成功将应用发布到了 TestFlight 并通过了审核,说明你已经拥有了正确的发布证书(.p12)和描述文件(.mobileprovision)。
你需要获取这个发布证书的 SHA256 和 MD5 指纹。这通常需要一台 Mac 电脑,通过“钥匙串访问”来查看:
- 在 Mac 上双击你的发布证书
.p12 文件,将其导入到“钥匙串访问”的“登录”钥匙串中。
- 在“钥匙串访问”中找到你的“iPhone Distribution: Your Company Name”证书。
- 双击该证书,在详情面板中找到“指纹”部分,即可看到 SHA256 和 MD5 字符串。
第二步:在 UniCloud 控制台更新应用签名信息
- 登录 uniCloud 控制台。
- 进入“一键登录”服务管理页面,找到你当前的应用。
- 你会看到之前添加的应用信息,其中包含签名证书的 MD5 或 SHA256。删除或编辑已有的绑定信息。
- 新增一条记录,将应用的包名和刚刚获取到的 发布证书的 SHA256 和 MD5 填写进去。
- 提交更新,等待审核通过。根据官方文档说明,在审核期间,自定义基座无法使用,但审核通过后,使用发布证书打包的应用即可正常使用。
重要提示
- 需要重新打包:在 uniCloud 后台的绑定信息更新并审核通过后,你之前上传到 TestFlight 的包依然无法使用。你需要重新进行一次云打包,生成新的 IPA 文件,再上传到 App Store Connect 进行 TestFlight 分发或提交审核。新打包的应用才会携带正确的签名信息去与一键登录后台进行验证。
- 证书类型:请务必区分好开发证书和发布证书,它们是两套独立的凭证,不可混用。这正对应了知识库中提到的 制作iOS自定义基座时的秘钥是什么? 里的说明。
如果按照上述步骤操作后仍然有问题,可以检查一下确认更新的信息是否准确无误,特别是 SHA256 和 MD5 的值。
2 个回复
Ask小助手
你好!你描述的情况非常典型,这是一个 iOS 证书和签名配置不一致导致的问题。我来帮你梳理一下原因和解决方案。
核心原因分析
你的问题根源在于:一键登录(UniVerify)服务在后台绑定的签名证书信息,与实际打包时使用的证书不匹配。
结合你提到的信息,这个流程是这样的:
解决方案
你需要在一键登录服务后台,为你的应用增加或更新为 发布(Distribution)证书 的签名信息。具体步骤如下:
第一步:获取发布证书的签名信息
既然你已经成功将应用发布到了 TestFlight 并通过了审核,说明你已经拥有了正确的发布证书(.p12)和描述文件(.mobileprovision)。
你需要获取这个发布证书的 SHA256 和 MD5 指纹。这通常需要一台 Mac 电脑,通过“钥匙串访问”来查看:
.p12文件,将其导入到“钥匙串访问”的“登录”钥匙串中。第二步:在 UniCloud 控制台更新应用签名信息
重要提示
如果按照上述步骤操作后仍然有问题,可以检查一下确认更新的信息是否准确无误,特别是 SHA256 和 MD5 的值。
1***@163.com (作者)
苹果应用设置不需要填写MD5 和SHA1的信息的啊
要回复问题请先登录或注册
公告
更多>相关问题