使用react-native iOS应用程序缩短编译时间

时间:2018-03-22 19:22:43

标签: ios xcode react-native linker static-libraries

我目前正在开发一款反应原生的iOS应用。在开发过程中,我注意到应用程序的编译时间非常慢。我得到了一个CI,它大致做了以下几点:

  • 清理应用程序工作区的git checkout
  • 运行单元测试
  • 运行UI测试构建应用

由于这是一个干净的结帐,应用程序总是重新编译所有与React.xcodeproj一起提供的反应静态库,如libyoga.a,libReact.a等。这意味着一个干净的CI构建大致需要〜 8min 仅构建所有反应依赖项( ~4min * 2 ,因为UI测试目标再次重建React)。

我想知道是否有可能加快编译时间。我提出了以下想法,但需要你的建议告诉我它是否有用或者我是否在错误的轨道上。

  • 编译iphoneos和iphonesimulator的所有静态库
  • 通过lipo将它们放在一个文件中
  • 将它们移至文件夹
  • 将该文件夹放入版本控制
  • 将该文件夹中的库链接到Xcode项目

这样,只有在我更新package.json中的react-native版本时,才需要构建一组新的静态库,对吗?

我想到的另一个想法是建立一个反应原生的动态框架。框架只能构建一次,然后通过carthage或手动添加到应用程序中。动态框架将链接所有反应静态库,并将正确的标头添加到标头搜索路径。

是否有人可以给我一个提示,如果这可行或者想知道如何改进构建架构以加快编译时间?

1 个答案:

答案 0 :(得分:1)

选中这两个复选框 1在构建日志中显示环境变量 2仅在安装时运行脚本 enter image description here

,但是当您第一次运行时,请取消选中它,因为这是第一次加载脚本,否则您将无法在打包程序中打开获取加载脚本。