双Apple账号打包发布遇Team未注册及CodeSign失败问题求助
Apple账号切换发布的签名&团队问题解决指南
先理清楚问题根源
- 账号A是免费个人团队,本身就没有App Store发布权限,所以归档时会提示「Team XXX (Personal Team) is not enrolled in the Apple Developer Program」
- 切换到付费账号B后出现签名失败,基本是签名配置不匹配、证书/描述文件没同步,或者账号权限没到位导致的
一步步解决
1. 让Xcode彻底用账号B干活
- 打开Xcode,顶部点
Xcode > 设置 > 账号 - 暂时删掉账号A(或者禁用),只留账号B,避免Xcode搞混身份
- 点账号B的「管理证书」,确认有iOS发布证书(iOS Distribution),没有的话点左下角
+新增一个
2. 把项目的签名配置全改成账号B的
- 选中项目根文件,进「签名与功能」标签
- 先勾上「自动管理签名」,然后在「团队」下拉里选账号B的付费团队
- 自动管理如果还是报错,就手动来:
- 取消「自动管理签名」,在「描述文件」里选账号B对应的发布描述文件(必须和项目Bundle ID完全匹配)
- 「签名证书」选账号B的iOS发布证书
3. 清掉旧缓存和过期描述文件
- 按
Cmd+Shift+K清项目,再按Cmd+Option+Shift+K清构建缓存 - 打开访达,去
~/Library/MobileDevice/Provisioning Profiles路径,删掉所有旧描述文件,然后从账号B的开发者后台重新下载对应发布描述文件安装
4. 核对后台的App ID配置
- 用账号B登Apple开发者后台,去「证书、标识符和描述文件」里,确认App ID(就是项目的Bundle ID)和项目里的完全一致
- 如果这个App ID原本是账号A创建的,要么把它转移到账号B,要么在账号B重新建一个相同的Bundle ID(注意不能和别人重复),再生成对应的发布描述文件
5. 归档时的细节要注意
- 归档前,检查Scheme的构建配置是
Release(不是Debug) - 归档完点「分发App」,选「App Store Connect」,然后确认团队是账号B的付费团队,签名选「自动管理签名」
最后补个小技巧
要是以上都没用,重启Xcode和电脑试试,有时候缓存抽风也会搞出签名问题;另外确认下账号B的开发者订阅没过期,过期了也会出各种幺蛾子。
内容的提问来源于stack exchange,提问作者Walter Pak
相关产品推荐
相关产品推荐

