很多 React Native 项目在开发阶段没有问题,但一到上架环节就开始卡住了
比如 Xcode 可以运行,但 Archive 失败、IPA 能生成,但是上传后没有构建了,TestFlight 也一直不出现版本
这些问题其实不是 React Native 的问题,而是 iOS 发布流程还没有搞明白
先确认项目已经具备 iOS 构建条件
先在本地执行:
npx react-native run-ios
如果可以正常运行,再进入下一步。
检查 ios 目录
React Native 项目中:
/ios目录是完整 iOS 工程- 实际打包由 Xcode 完成
进入目录:
cd ios
pod install
在 Xcode 中完成必要配置
打开:
open ios/YourProject.xcworkspace
配置 Bundle ID
路径:
- Targets → General → Bundle Identifier
确保:
- 与 App Store Connect 中一致
配置版本号
Version(CFBundleShortVersionString)
Build(CFBundleVersion)
每次上传:
- Build 必须递增
签名准备 React Native 不会自己做这一步
RN 项目构建失败,大多数情况是签名问题。
需要准备:
- 发布证书(distribution)
- App Store 描述文件
使用 AppUploader 生成签名文件
使用 AppUploader(开心上架) 可以直接生成:
创建证书
- 打开证书管理
- 点击新增
- 选择 distribution
- 设置名称
- 设置 P12 密码
- 下载
.p12

创建描述文件
- 进入描述文件管理
- 新建 App Store 类型
- 选择 Bundle ID
- 绑定证书
- 下载
.mobileprovision

导入到 Xcode
- 双击
.p12导入钥匙串 - 双击
.mobileprovision安装
Archive 构建 IPA
在 Xcode 中:
- 选择设备为
Any iOS Device - 点击
Product → Archive
构建完成后:
- 打开 Organizer
- 选择刚生成的 Archive
导出 IPA
选择:
Distribute App → App Store Connect → Export
导出 .ipa 文件。
上传 IPA(可以不依赖 Xcode)
IPA 生成后,上传可以脱离 macOS。
可以使用 AppUploader 上传
步骤:
- 打开提交上传页面
- 输入 Apple ID
- 设置专用密码(App-specific password)
- 选择 IPA 文件
- 选择上传通道(1 或 2)
- 点击上传

上传后验证
进入:
App Store Connect → TestFlight
等待 Processing 完成。

有可能会碰到一个问题,上传成功但没有构建
在 RN 项目中比较常见。
检查 Build 号,是否递增
检查 Bundle ID,是否和后台一致
检查签名类型,是否使用 App Store 描述文件
检查描述文件,是否绑定正确证书
React Native 特有的一个坑
如果使用了第三方库(如推送、登录),需要注意:
Capabilities 是否开启
在 Xcode 中:
- Signing & Capabilities
- 开启对应能力(Push / Associated Domains 等)
与 App ID 一致
在 Apple Developer 中:
- 同步开启对应能力
否则:
- 编译通过
- 审核或运行失败
React Native 项目上架 App Store,其实还是完成 iOS 原生发布的流程。