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

使用Expo+React Native重制iOS应用提交App Store Connect报错求助

解决Expo EAS提交TestFlight时的ENTITY_ERROR.RELATIONSHIP.INVALID错误

你遇到的这个错误提示看起来是App ID关系无效,但实际根源是应用版本号格式不符合Apple的要求——Apple规定提交到TestFlight的应用,短版本号(CFBundleShortVersionString)和构建版本号(CFBundleVersion)必须是[数字].[数字].[数字]的三段式格式,你的项目里构建版本号是单数字,导致提交失败。

以下是具体修改步骤:

1. 修改app.json中的构建版本号

打开项目根目录的app.json,找到expo.ios.buildNumber字段,把当前的"1"改成三段式格式(比如和主版本号一致的"12.0.0",或者递增的"12.0.1"):

"ios": {
  "supportsTablet": true,
  "bundleIdentifier": "com.updaty.app",
  "buildNumber": "12.0.0", // 改为三段式数字格式
  "infoPlist": {
    "NSRemindersUsageDescription": "The app needs to access your reminders.",
    "NSCalendarsUsageDescription": "The app needs to access your calendar."
  }
}

注:expo.version字段你已经设置为"12.0.0",符合要求,无需修改。

2. 同步原生info.plist的版本号(仅Bare Workflow)

如果你的项目是Expo Bare Workflow(拥有原生iOS文件),需要同步修改ios/[项目名]/Info.plist中的两个版本字段:

  • 将CFBundleShortVersionString的值改为和app.json中version一致的"12.0.0"
  • 将CFBundleVersion的值改为和app.json中ios.buildNumber一致的"12.0.0"

修改后的对应代码片段:

<key>CFBundleShortVersionString</key>
<string>12.0.0</string>
<key>CFBundleVersion</key>
<string>12.0.0</string>

3. 重新构建并提交

执行以下命令重新构建iOS应用并提交到TestFlight:

eas build --platform ios --profile production
eas submit --platform ios --profile production

这样修改后,版本号格式符合Apple的要求,就能解决提交时的错误了。

内容的提问来源于stack exchange,提问作者Pedro-Goncal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 11:19:55