在没有服务器的设备上React Native运行app

时间:2015-11-26 04:54:17

标签: ios react-native

令人难以置信的是React Native的文档有多糟糕,他们只是尽可能少地使用它。我已经设法使用选项1运行我的应用,但选项2更加不清楚:https://facebook.github.io/react-native/docs/running-on-device-ios.html

我不知道没有终端命令react-native bundle的例子,所以我知道那里实际需要什么。例如--entry-file <path>是什么路径?从我的硬盘驱动器根目录到此文件夹的整个路径,还是只是文件本身? --bundle输出....?到底我该怎么办呢?我不知道为什么他们需要让它变得如此模糊。

我很惊讶,网上没有其他资源可以更清楚地说明说明。我想这就是为什么应用程序商店中没有这么多React Native应用程序。

4 个答案:

答案 0 :(得分:2)

从React Native Docs:

配置发布方案要构建要在App Store中分发的应用程序,需要使用Xcode中的发布方案。为发布而构建的应用程序将自动禁用应用程序内开发人员菜单,这将防止您的用户无意间访问生产环境中的菜单。它还将在本地捆绑JavaScript,因此您可以将应用程序放在设备上并在未连接到计算机的情况下进行测试。

要配置要使用发布方案构建的应用程序,请转到产品→方案→编辑方案。选择边栏中的“运行”选项卡,然后将“构建配置”下拉列表设置为“发布”。

答案 1 :(得分:1)

这可以从终端完成:

react-native run-ios --device "My iPhone" --configuration Release

答案 2 :(得分:0)

我希望您也发现这是一种简单得多的方法。在下面的示例中,我的应用程序名为BleMobileApp。随时将其更改为您应用的名称。

在不带调试服务器的情况下在设备上运行应用

  1. 复制主部署目标并将其命名为BleMobileApp-Deploy

  2. 确保删除DEBUG=1的{​​{1}}中的BleMobileApp-Deply标志(不要触摸原始目标Build settings!)

Cloned Target

  1. BleMobileApp的构建阶段中添加一个New Run Script Phase并粘贴以下命令:

BleMobileApp-Deploy

enter image description here

就是这样!

(可选)如果您希望最小化JS捆绑包!

  1. 像下面一样编辑文件yes | cp -rf ${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/main.jsbundle $SRCROOT/main.jsbundle(第43〜47行)

enter image description here 2.更改如下所示的默认运行脚本(对于./node_modules/react-native/scripts/react-native-xcode.sh目标):

BleMobileApp-Deploy

这应该为您解决问题。

编码愉快!

答案 3 :(得分:-1)

我能找到的最好方法,
只需按照下面的步骤

  • 产品→方案→编辑方案
  • 在侧栏中选择“运行”标签
  • 将构建配置下拉至Release

有时Metro捆绑包启动,可能是它在IOS中的错误,但您可以将其关闭

请参阅所附的屏幕截图 Please see the attached screenshot