Bundle ID 改完后上传失败,最容易被忽略的就是改了项目里的 Bundle ID,但证书、描述文件、App Store Connect 记录可能还是旧的。iOS 上架不是只看项目配置,而是同时校验IPA 里的 Bundle ID、描述文件绑定的 App ID、App Store Connect 中创建的应用记录、证书与描述文件是否匹配。
只要其中一个还是旧值,上传就会失败,或者上传成功后在后台看不到构建。
比如项目原来的 Bundle ID 是"com.demo.oldapp",后来在 HBuilderX、Xcode、Flutter 或 React Native 中改成"com.demo.newapp",然后重新打包上传,结果出现
No suitable application records were found或者:
Provisioning profile has app ID 'com.demo.oldapp', which does not match the bundle ID 'com.demo.newapp'
这就说明 IPA 和苹果后台配置不一致。
不要只看项目配置文件,先检查最终 IPA。
解压 IPA 后查看
Info.plist 中的"CFBundleIdentifier",确认它到底是"com.demo.oldapp"还是"com.demo.newapp",如果 IPA 里还是旧值,说明打包配置没有生效。
描述文件
.mobileprovision 里也有 App ID,如果描述文件绑定的是旧 Bundle ID,即使项目里改成新值,也无法通过签名校验。
可以用 AppUploader(开心上架) 查看描述文件内容:
.mobileprovision如果这里仍是旧 ID,需要重新生成描述文件。
例如"com.demo.newapp",也可以在 AppUploader 的 Bundle ID 管理 中新增。
进入 AppUploader:
.mobileprovision在打包工具中替换新 Bundle ID、对应证书,然后重新生成 IPA。
如果 App Store Connect 中没有使用新 Bundle ID 的应用记录,上传后不会正常匹配。进入App Store Connect → My Apps → 新建 App,选择新的 Bundle ID。
可以使用:
如果在 Windows 或 Linux 上传,可以用 AppUploader CLI。
只要"IPA 内 Bundle ID"“描述文件 App ID"“App Store Connect App 记录"这三处 都是最新 Bundle ID 且一致,上传流程就会正常。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70046795/viewspace-3173637/ ,如需转载,请注明出处,否则将追究法律责任。