丢失Bundle Id、证书与配置文件,能否用新凭证提交App更新?
关于更换Bundle ID提交App更新的问题解答
先直接给你明确结论:绝对不能用新的Bundle ID提交更新——App Store里的每个应用都是靠唯一的Bundle ID来标识身份的,新的Bundle ID会被当成全新的独立应用,根本没法覆盖你原来的旧App,用户也完全收不到任何更新提示,最后就是商店里会出现两个毫不相干的同款App。
接下来给你梳理正确的解决思路和可能的影响:
一、正确的解决步骤
1. 先找回原始Bundle ID的控制权
首先得搞清楚当初外包公司是用谁的开发者账号提交的App:
- 如果是用你们公司自己的Apple Developer账号提交的,那直接登录你们的开发者后台,进入「Certificates, Identifiers & Profiles」板块,就能找到对应的App ID(也就是你说的Bundle ID)。
- 如果外包用的是他们自己的账号,那你得联系Apple开发者支持,准备好应用的App Store链接、公司营业执照、当初的开发合作合同等证明材料,申请把这个应用的所有权转移到你们的开发者账号下。这一步虽然麻烦,但却是能让老用户正常接收更新的唯一正道。
2. 重新创建证书和Profile
一旦你拿到了原始Bundle ID的控制权,就可以重新生成所需的证书和配置文件了:
- 创建新的Distribution Certificate:就算原来的证书过期或丢失也没关系,直接在后台生成新的就行,旧证书不用删,新证书完全可以用来签名更新包。
- 针对原始Bundle ID创建新的App Store分发Provisioning Profile。
- 用新的证书和Profile签名你的更新安装包,提交到App Store审核,通过后老用户就能正常收到更新提示,和之前的更新流程完全一样,不会有任何负面影响。
二、用新Bundle ID提交的后果
如果非要用新Bundle ID提交,那结果就是:
- 老用户设备上的旧App不会收到任何更新通知,他们依然用着旧版本。
- 你提交的新Bundle ID应用会作为全新App上架,用户得自己去商店搜索下载,而且旧App里的数据(如果没做专门的迁移方案)会全部丢失,用户体验极差。
- 旧App积累的所有评分、评论、下载量都没法继承到新App上,相当于你要从零开始运营一个新应用,代价非常大。
最后提个小建议
如果实在没办法找回原始Bundle ID,那只能发布新App,同时在旧App里加个弹窗或推送通知,引导用户迁移到新App,但这是万不得已的下策,尽量优先走找回所有权的流程。
内容的提问来源于stack exchange,提问作者MouzmiSadiq
相关产品推荐
相关产品推荐

