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 里真实的 Bundle ID

不要只看项目配置文件,先检查最终 IPA。

解压 IPA 后查看 Info.plist 中的"CFBundleIdentifier",确认它到底是"com.demo.oldapp"还是"com.demo.newapp",如果 IPA 里还是旧值,说明打包配置没有生效。

再看描述文件绑定的 App ID

描述文件 .mobileprovision 里也有 App ID,如果描述文件绑定的是旧 Bundle ID,即使项目里改成新值,也无法通过签名校验。

可以用 AppUploader(开心上架) 查看描述文件内容:

  1. 打开 AppUploader
  2. 进入文件查看或描述文件管理
  3. 选择 .mobileprovision
  4. 查看绑定的 Bundle ID / App ID

如果这里仍是旧 ID,需要重新生成描述文件。

修复流程

1. 在 Apple Developer 中创建新的 Bundle ID

例如"com.demo.newapp",也可以在 AppUploader 的 Bundle ID 管理 中新增。

2. 重新生成描述文件

进入 AppUploader:

  1. 打开「描述文件管理」
  2. 新建描述文件
  3. 类型选择 App Store
  4. Bundle ID 选择新 ID
  5. 绑定发布证书
  6. 下载新的 .mobileprovision

3. 重新打包 IPA

在打包工具中替换新 Bundle ID、对应证书,然后重新生成 IPA。

4. 在 App Store Connect 创建或选择对应 App

如果 App Store Connect 中没有使用新 Bundle ID 的应用记录,上传后不会正常匹配。进入App Store Connect → My Apps → 新建 App,选择新的 Bundle ID。

5. 再上传 IPA

可以使用:

  • Xcode Organizer
  • Transporter
  • Fastlane
  • AppUploader 上传工具

如果在 Windows 或 Linux 上传,可以用 AppUploader CLI。

判断标准

只要"IPA 内 Bundle ID"“描述文件 App ID"“App Store Connect App 记录"这三处 都是最新 Bundle ID 且一致,上传流程就会正常。