从终端运行 React Native iOS 版本构建

Posted

技术标签:

【中文标题】从终端运行 React Native iOS 版本构建【英文标题】:Run a React Native iOS release build from terminal 【发布时间】:2016-10-28 10:31:49 【问题描述】:

我正在尝试直接从终端运行发布版本,但没有找到执行此操作的选项。

在 XCode 中需要做的是:

Product -> Scheme -> Edit Scheme (cmd +

http://facebook.github.io/react-native/docs/running-on-device-ios.html#building-your-app-for-production

react-native-cli 有什么选项可以做同样的事情吗? react-native run-ios -configuration Release 之类的东西?

我的目标是生成一个不需要正在运行的服务器提供给 QA 团队的构建。

【问题讨论】:

【参考方案1】:

我对 React Native 项目进行了 PR 以允许此功能。 PR可以在这里查看:https://github.com/facebook/react-native/commit/ca7cbdee858e84c4a74a2d9c7be151f5cfdcfbfe

因此,将来要从终端运行发布版本,您只需键入以下命令:npx react-native run-ios --configuration Release

如果您想在真实设备上运行您的项目,请使用--device 参数:

npx react-native run-ios --configuration Release --device "Your Device Name"

【讨论】:

谢谢。不过需要升级到 v0.39+。 是的,它从 v0.39 开始可用。 非常感谢您的 PR,能否请您就该主题添加更多内容。在此之后,我可以轻松地发布到 android - facebook.github.io/react-native/docs/signed-apk-android.html - 但是在我运行 react-native run-ios --configuration Release 之后,我不知道该怎么做 :( 我什至找不到它创建的二进制文件,所以我可以将它安装在我的设备上. :( 我第一次想学习手动方式,所以我避免使用 fastlane。 嗯,要生成二进制文件以上传到 AppStore/安装在您的设备中,您需要执行以下操作:***.com/a/42130914/3482000 对我来说它在模拟器上运行。如何定位我的设备?【参考方案2】:

据我所知,React Native 并没有那种开箱即用的东西。

但由于您的 react-native 应用程序也是一个内部带有 react-native 的普通 Objective-C 应用程序,因此您可以重用现有工具来为您执行构建/打包。

查看以下文章,例如,了解如何使用 fastlane 自动化构建。

https://shift.infinite.red/simple-react-native-ios-releases-4c28bb53a97b#.i1otlntat

【讨论】:

【参考方案3】:

处理捆绑的 react-native 脚本在这里:

  ./node_modules/react-native/scripts/react-native-xcode.sh

它基本上是这样做的:

  node "./node_modules/react-native/cli.js" bundle  --entry-file "index.js" --platform ios --dev false --reset-cache --bundle-output "./app.app/main.jsbundle" --assets-dest "./app.app"

其中 bundle-output 和 assets-dest 通常指向您的 xcode 构建输出。例如:

~/Library/Developer/Xcode/DerivedData/MyApp-enjmlvtpwwpnsxanntxwgpneywcy/Build/Intermediates.noindex/ArchiveIntermediates/MyApp/BuildProductsPath/Release-iphonesimulator/MyApp.app

【讨论】:

以上是关于从终端运行 React Native iOS 版本构建的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 设备上运行React Native App

在React native的iOS项目中找不到“config.h”文件

React Native Getting Started

react native 无法运行 iOS

React Native 应用在 IOS 13 版本设备中崩溃

React Native 运行出现 Could not connect to development server 解决方法