随着iOS项目越来越大, 项目打包安装速度越来越慢,现在安装一次居然差不多要到了八,九分钟. 真是服了. 项目是用iOS原生+react-native混合开发方式, 看Xcode提示百分之九十时间都是卡在跑这脚本上.

原因

这位大神早就给出了答案, 罪魁祸首就是这个react-native-xcode.s. 每次打包安装都重新把RN文件打包成main.jsbundle, 在机械硬盘的渣渣电脑上操作那数以万计个的文件, 当然要卡出翔啊.

解决

react-native-xcode.s文件头加上下面的代码, 让RN在Debug下每次先判断项目工程下是不是已经有了main.jsbundle文件, 如果没有才打包js文件.

DEST=$CONFIGURATION_BUILD_DIR/$UNLOCALIZED_RESOURCES_FOLDER_PATH

if [ "$CONFIGURATION" = "Debug" ] && [ -f "$DEST/main.jsbundle" ]; then
  echo "--- Skip bundle building in 'Debug' mode"
  exit 0
fi
    
...


# 把这句移到顶部
# DEST=$CONFIGURATION_BUILD_DIR/$UNLOCALIZED_RESOURCES_FOLDER_PATH

注意

更改后只要Xcode Build了一次,电脑有了项目工程缓存,以后安装项目到手机/simulator都是用的是第一Build的那份js文件, 后面修改了RN里的代码,需要Command+Shift+K清除工程缓存, 重新Build, 生成新的main.jsbundle.

以后每次只需在修改react-native代码后Command+Shift+KCommand+B一下,再安装到真机或simulator上就是只是原生部分的速度, 再也不用Command+R一下就得去上厕所了 O(∩_∩)O~~


laowen
340 声望28 粉丝

人称老文