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

相关推荐
HLC++11 小时前
Linux的进程间通信
android·linux·服务器
爱笑鱼15 小时前
Binder(二):AIDL 生成的 Proxy、Stub 和 Parcel 到底在做什么?
android
爱笑鱼15 小时前
Binder(一):一次方法调用,究竟怎样跨进程执行?
android
壮哥_icon16 小时前
【Android 系统开发】使用 BAT 脚本高效自动化管理 /system/priv-app/ 系统应用(安装与卸载)
android·运维·自动化
ZZH_AI项目交付17 小时前
同一套前摄心率算法,为什么 iPhone 16 Pro 稳,iPhone XR 会失准?
ios·app·ai编程
用户693717500138418 小时前
Claude Code终端日志Token占用实测:一个过滤器砍掉60%-90%
android·前端·后端
DeMinds18 小时前
内容没有丢,我为什么总在重新整理?|DeMinds 如何让工作接着继续
ios·github·markdown
蝉蜕日记18 小时前
AccumuPDF高级版 v2.57 | 视图文转换PDF,合并分割压缩
android·智能手机·pdf·生活·软件需求
apd_csdn18 小时前
清华邮箱苹果邮件app设置(全)
ios·thu
吐了啊取名字太难18 小时前
美颜系统AI修图本地跑并支持Mac、win、安卓、iOS不卡顿
android·人工智能·windows·数码相机·mac·ai编程