每次在Xcode

时间:2017-06-15 14:58:20

标签: xcode react-native

每次构建项目时都会执行react native packager(并且没有运行packager)。我知道这是一种有些预期的行为,因为负责启动打包器的脚本是React项目构建阶段的一部分。

问题是我们并不总是在反应本机组件上开发。大多数情况下,我们使用嵌入在应用程序中的脱机捆绑包进行了很好的开发。因此,我们希望反应原生包装器不会在每次构建时启动。

这是React项目构建阶段的一部分:

if [ -z "${RCT_NO_LAUNCH_PACKAGER+xxx}" ] ; then
  if nc -w 5 -z localhost 8081 ; then
    if ! curl -s "http://localhost:8081/status" | grep -q "packager-status:running" ; then
      echo "Port 8081 already in use, packager is either not running or not running correctly"
      exit 2
    fi
  else
    open "$SRCROOT/../packager/launchPackager.command" || echo "Can't start packager automatically"
  fi
fi

到目前为止我已尝试过:

  • 在我们项目的Build Settings下创建一个值为RCT_NO_LAUNCH_PACKAGER的用户定义设置1。这不起作用,只有在添加到“反应”中时才会生效。项目本身。没有用,因为如果有人重新安装了node_modules,将清除此配置。

  • 将值RCT_NO_LAUNCH_PACKAGER的环境变量1添加到项目中构建方案的Run阶段的Arguments中。

此外,系统全局变量RCT_NO_LAUNCH_PACKAGER不值得考虑,因为这会自动影响所有项目。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我刚删除" $ SRCROOT /../ packager / launchPackager.command"避免自动启动打包程序。您可以手动执行此操作,也可以在项目中添加脚本。