RN을 개발하고있는 분이라면 다음 커맨드를 자주 쓰실겁니다.
react-native run-ios --scheme app-staging --configuration Debug --device "내 디바이스"
특정 기기를 빌드해야하거나 특정 스키마로 빌드해야한다면
커맨드 중간중간을 수정하는 일이 많이 있습니다.
쉘 스크립트를 짜본 경험은 많지 않지만 조금이라도 더 편하게 쓰고자
다음과 같이 작성해보았습니다.
#!/bin/bash
GREEN='\033[0;32m'
BLUE='\033[0;34m'
NC='\033[0m'
# npm run ios {development | staging | production} {Debug | Release} {DEVICE_NAME}
if [ "$1" != "" -a "$2" != "" -a "$3" != "" ]
then
TARGET_SCHEME="-$1"
TARGET_MODE=$2
TARGET_DEVICE=$3
echo -e "${GREEN}##### Run iOS ${BLUE}$TARGET_SCHEME $TARGET_MODE${GREEN} Build on ${BLUE}$TARGET_DEVICE${GREEN} #####${NC}"
if [ "$1" == "production" ]
then
TARGET_SCHEME=""
fi
react-native run-ios --scheme appname$TARGET_SCHEME --mode $TARGET_MODE --device "$TARGET_DEVICE"
# npm run ios {development | staging | production} {DEVICE_NAME}
elif [ "$1" != "" -a "$2" != "" ]
then
TARGET_SCHEME="-$1"
TARGET_DEVICE=$2
echo -e "${GREEN}##### Run iOS ${BLUE}$TARGET_SCHEME Debug${GREEN} Build on ${BLUE}$TARGET_DEVICE${GREEN} #####${NC}"
if [ "$1" == "production" ]
then
TARGET_SCHEME=""
fi
react-native run-ios --scheme appname$TARGET_SCHEME --mode Debug --device "$TARGET_DEVICE"
# npm run ios {DEVICE_NAME}
elif [ "$1" != "" ]
then
TARGET_DEVICE=$1
echo -e "${GREEN}##### Run iOS ${BLUE}development Debug${GREEN} Build on ${BLUE}$TARGET_DEVICE${GREEN} #####${NC}"
react-native run-ios --scheme appname-development --mode Debug --device "$TARGET_DEVICE"
else
TARGET_DEVICE=$1
echo -e "${GREEN}##### Run iOS ${BLUE}development Debug${GREEN} Build on ${BLUE}default device${GREEN} #####${NC}"
react-native run-ios --scheme appname-development --mode Debug
fi
//package.json
scripts : {
...
"ios" : "./pathToScript/run-ios.sh"
...
}
# 기본 동작
npm run ios
# 특정 기기 Debug 빌드
npm run ios {DEVICE_NAME}
# 특정 기기와 스키마{development / staging / production}를 Debug로 빌드
npm run ios {SCHEME} {DEVICE_NAME}
# 특정 기기와 스키마를 Debug / Release로 빌드
npm run ios {SCHEME} {MODE(configuration)} {DEVICE_NAME}