![설정](https://linux55.com/image/141019/%EC%84%A4%EC%A0%95.png)
저는 Mac을 사용하여 Xcode 빌드에서 일부 스크립트를 작성하려고 합니다. dSYM
를 확인하는 데 사용할 수 있는 몇 가지 디렉토리가 있습니다 Show package contents
. Xcode 빌드 후 실행되는 스크립트에서 dSYM을 출력 디렉터리에 복사하려고 합니다.
내 명령은 다음과 같습니다
cp -vR "${BUILD_PATH}/${CONFIGURATION}-${DEVICE_TYPE}/${FRAMEWORK}.dSYM" "${OUTPUT_FOLDER}/${FRAMEWORK}.dSYM"
확장하면 기본적으로 다음과 같습니다.
cp -vR "${BUILD_PATH}/${ANOTHER_FOLDER}/MyFramework.framework.dSYM" "${OUTPUT_FOLDER}/MyFramework.framework.dSYM"
dsym 폴더를 dsym 폴더에 복사하면 다음과 같이 됩니다.
MyFramework.framework.dSYM/MyFramework.framework.dSYM
rm -rf
복사하기 전에는 dSYM을 사용할 수 있었는데 삭제하지 않고 다른 방법이 있는지, 제가 뭘 잘못하고 있는지 더 궁금합니다. 감사해요!
답변1
MyFramework.framework.dSYM 상위 폴더를 복사하지 않으려면 cp
시작되도록 명령을 조정하십시오.다음과 같은그 디렉토리. 이전 동작과 일치하려면모든dSYM 디렉터리의 파일은 심지어 도트 파일까지 복사되며, bash를 위해 해당 파일을 선택하도록 쉘에 지시해야 합니다. 이는 shopt -s dotglob
.
새로운 cp
명령은 다음과 같습니다:
shopt -s dotglob
cp -vR "${BUILD_PATH}/${CONFIGURATION}-${DEVICE_TYPE}/${FRAMEWORK}.dSYM"/* \
"${OUTPUT_FOLDER}/${FRAMEWORK}.dSYM"
내가 한 일은 /*
소스 경로의 끝에 추가하는 것뿐이었습니다.
실행 예시:
설정
$ tree -a build_path/
build_path/
└── configuration-type
└── framework.dSYM
├── a
├── .dotfile-here
└── subdir
└── b
3 directories, 3 files
구현하다
cp -vR build_path/configuration-type/framework.dSYM/* output_folder/MyFramework.framework.dSYM
결과
$ tree -a output_folder/
output_folder/
└── MyFramework.framework.dSYM
├── a
├── .dotfile-here
└── subdir
└── b
2 directories, 3 files