React Native 上架 App Store:项目运行与审核构建的流程

很多 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(开心上架) 可以直接生成:


创建证书

  1. 打开证书管理
  2. 点击新增
  3. 选择 distribution
  4. 设置名称
  5. 设置 P12 密码
  6. 下载 .p12

创建描述文件

  1. 进入描述文件管理
  2. 新建 App Store 类型
  3. 选择 Bundle ID
  4. 绑定证书
  5. 下载 .mobileprovision

导入到 Xcode

  • 双击 .p12 导入钥匙串
  • 双击 .mobileprovision 安装

Archive 构建 IPA

在 Xcode 中:

  1. 选择设备为 Any iOS Device
  2. 点击 Product → Archive

构建完成后:

  • 打开 Organizer
  • 选择刚生成的 Archive

导出 IPA

选择:

复制代码
Distribute App → App Store Connect → Export

导出 .ipa 文件。


上传 IPA(可以不依赖 Xcode)

IPA 生成后,上传可以脱离 macOS。

可以使用 AppUploader 上传

步骤:

  1. 打开提交上传页面
  2. 输入 Apple ID
  3. 设置专用密码(App-specific password)
  4. 选择 IPA 文件
  5. 选择上传通道(1 或 2)
  6. 点击上传

上传后验证

进入:

复制代码
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 原生发布的流程。

相关推荐
HouWan4 小时前
Swift 6.4 发布:iOS开发者值得关注的新特性
ios·swift·apple
奈斯先生Vector4 小时前
当模型版本不断变化,RelayRouter 能否帮助 AI 应用摆脱深度绑定
android·java·人工智能·开源·aigc
TimeFine5 小时前
让强模型做“总工”,让高性价比模型写代码
android
用户38034165882975 小时前
macOS 录屏:ScreenCaptureKit 与 iOS 的分野,共用引擎的抽象层该切在哪
ios·音视频开发
小程序开发X5 小时前
2026 深圳 APP 开发甄选:技术架构搭建、全流程落地、综合选型解读
微信小程序·小程序·app开发
Kingexpand_com5 小时前
培训机构排课管理小程序设计与功能实现思路
小程序·软件开发·小程序定制开发·培训排课·培训机构·排课小程序
又见情义6 小时前
RK3568 Android 13 屏蔽 healthd 电池日志经验分享
android
HouWan6 小时前
Flutter iOS UISceneDelegate 迁移指南:理清新的 Scene 生命周期
flutter·ios·app
00后程序员张7 小时前
Xcode vs KXApp,体积差几十G,选轻量方案还是完整工具链?
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
白远山7 小时前
自助健身小程序源码:架构拆解、核心链路与本地部署实战
java·架构·uni-app·需求分析