从终端运行 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 版本构建的主要内容,如果未能解决你的问题,请参考以下文章
在React native的iOS项目中找不到“config.h”文件
React Native 应用在 IOS 13 版本设备中崩溃
React Native 运行出现 Could not connect to development server 解决方法