You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xamarin打包签名使用错误证书 部署iOS设备时签名验证失败

问题根因
  • 本地Windows证书管理器/绑定Mac的钥匙串中残留了失效的旧开发者证书,Xamarin组件优先读取了旧证书的ID(7D8Lxxxxxx),未同步苹果后台的最新证书信息
  • Xamarin Hot Restart的本地签名缓存、旧Provisioning Profile配置残留,导致签名时未匹配到对应有效配置
  • XCode中存在状态为「Not in Keychain」的无效证书记录,跨工具同步时出现ID映射错误
修复步骤

1. 彻底清理所有残留的旧证书配置

  • 按下Win+R输入certmgr.msc打开Windows证书管理器,进入「当前用户-个人-证书」,删除所有发布者为Apple Development: Thorsten W.的证书记录
  • 删除完整的Xamarin配置缓存目录:C:\Users\thors\AppData\Local\Xamarin\iOS\Provisioning
  • 若你使用了Mac构建主机,打开Mac端「钥匙串访问」,在「登录-我的证书」「系统-我的证书」路径下,删除所有Thorsten W.名下的苹果开发者证书;打开XCode进入「设置-账户」,删除对应账号下所有旧的手动配置文件

2. 重新生成并导入有效签名配置

  • 登录苹果开发者后台,确认当前有效的开发证书ID为5KLMxxxxxx,下载该证书的.cer文件,分别双击导入Windows和Mac的密钥链
  • 苹果开发者后台删除旧的VS: WildCard Development配置文件,新建通配符开发配置文件,绑定ID为5KLMxxxxxx的有效证书、添加你要部署的iPhone设备UDID,下载生成的.mobileprovision文件后双击导入

3. 重置VS的Xamarin签名设置

  • 打开VS 2019进入「工具-选项-Xamarin-苹果账户」,删除原有登录的开发者账号后重新登录,确认同步后显示的开发者ID与后台一致
  • 打开iOS项目属性,进入「iOS捆绑签名」页:
    • 配置选择Debug|iPhone
    • 签名身份手动选择Apple Development: Thorsten W. (5KLMxxxxxx)
    • 预配配置文件手动选择你刚刚新建的通配符开发配置
    • 取消勾选「自动管理签名」选项
  • 右键解决方案选择「清理」,删除解决方案目录下所有bin、obj文件夹,重启VS后重新构建部署即可

内容的提问来源于stack exchange,提问作者thowa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 08:54:07