如何运行两个反应本机应用程序?

Posted

技术标签:

【中文标题】如何运行两个反应本机应用程序?【英文标题】:How can I run two react native applications? 【发布时间】:2018-07-14 07:02:24 【问题描述】:

我想运行我的 react native 应用两次:我的设备 + 模拟器。

我不介意使用两个 Metro 捆绑器实例。我该怎么做?

现在,我的两台设备都连接到 8081 - 无论何时连接,它都会启动另一台。

(我首先从 XCode 构建到我的设备/模拟器,然后运行 ​​react-native start

【问题讨论】:

为什么要这样做? 【参考方案1】:
    第一次在你的真实ios设备上安装应用程序使用npx react-native run-ios --device "Kasra’s iPhone",当然将Kasra’s iPhone替换为你的真实ios设备名称。 运行npx react-native start --port 8082 在ios真机上打开应用,点击Ctrl + D打开开发菜单,或摇动设备打开。 选择Configure Bundler 选项 对于IP,DO NOT USE 127.0.0.1,使用你系统的IP,在终端执行ifconfigipconfig根据你的操作系统找到你的IP。 端口号使用8082 选择Apply Changes,应该会在你的ios真机上自动启动应用 现在打开另一个终端窗口 npx react-native run-ios 在您的模拟器上运行它。

现在您有两个捆绑器同时在端口 8081 和 8082 上同时运行。

【讨论】:

【参考方案2】:

react-native run-ios 命令支持在this commit 之后添加port 参数。您可以尝试使用此参数在具有两个不同构建的两个不同端口中运行您的应用程序。

来自提交说明:

--port 选项添加到react-native run-ios 以及修补端口...

总结:拉取请求将--port选项添加到run-ios 允许开发人员使用 像这样的单个命令行:react-native run-ios --port 8088

默认为当前端口 8081。

【讨论】:

为了未来读者的完整性,react-native run-androidreact-native run-iosreact-native start 支持 --port 参数。因此,可以使用deviceID 参数在同一设备或多台设备上运行不同的应用程序。

以上是关于如何运行两个反应本机应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

反应屏幕之间的本机导航

即使设备在本机反应中重新启动,如何运行后台任务?

无法在我的反应本机应用程序中清理订阅

在反应本机应用程序中删除启动屏幕

反应本机android模拟器不运行应用程序

运行反应本机应用程序时出错-检查`App`的渲染方法