我正在尝试在一个Objective-C应用程序中运行多个ReactNative应用程序。我写了一个小的bundle脚本,与react-native-xcode.sh非常相似。唯一的区别是我的基于用户提供的输入和输出文件:
#!/bin/bash
case "$CONFIGURATION" in
Debug)
DEV=true
;;
Release)
DEV=false
;;
"")
echo "$0 must be invoked by Xcode"
exit 1
;;
*)
echo "Unsupported value of \$CONFIGURATION=$CONFIGURATION"
exit 1
;;
esac
# For the number of input files, get the input file name and corresponding output file name, and
# create a static bundle.
for (( i=0; i<$SCRIPT_INPUT_FILE_COUNT; i++ ))
do
eval INPUT_FILE_NAME=\${SCRIPT_INPUT_FILE_$i}
eval OUTPUT_FILE_NAME=\${SCRIPT_OUTPUT_FILE_$i}
echo $INPUT_FILE_NAME
echo $OUTPUT_FILE_NAME
$(which react-native) bundle \
--entry-file $INPUT_FILE_NAME \
--dev $DEV \
--platform ios \
--bundle-output $OUTPUT_FILE_NAME
done
我在package.json中指定了ReactNative应用程序,并使用npm install进行安装。我在Run Script构建阶段指定输入和输出文件的路径:
无论出于何种原因,我的软件包在npm install之后永远不会更新。
FWIW,软件包在安装之前,确实有一个文本组件“Choose Subscriptions”。
似乎react-native bundle
命令正在使用缓存文件,或者Xcode每次都将.jsbundle
的旧版本复制到应用程序包。有谁知道如何解决问题并让Xcode将正确的.jsbundle
复制到应用程序包?
答案 0 :(得分:0)
现在已知问题。使用以下任一方法:
rm -rf $TMPDIR/react-*
--resetCache true