Xcode 팁: 사전 빌드 작업
저는 최근에 구성 파일을 사용하는 프레임워크로 작업하고 있었습니다. 이 파일은 JSON에 저장되며 앱과 함께 번들로 제공됩니다. 나는 내 앱의
dev
버전과 prod
버전에 대해 별도의 구성 파일을 쉽게 가질 수 있는 방법을 원했고 이미 이러한 서로 다른 버전에 대해 별도의 구성표를 가지고 있었습니다. 실행 시 전달된 인수나 컴파일러 플래그 등을 통해 이 작업을 수행할 수 있는 방법을 찾고 있었습니다. 나는 다양한 코드 생성 도구 등의 토끼 구멍으로 내려가기 시작했습니다. 그런데 스킴 편집기에서 무언가를 발견했습니다."Build"의 작은 드롭다운 아래에는 "Pre-actions"라는 항목이 있습니다. 그것을 클릭하고 하단에 있는 "+"버튼을 누르면 "스크립트 실행"을 추가할 수 있는 옵션이 있습니다. 즉, 앱의 모든 빌드(또는 실행 또는 테스트) 이전(또는 이후)에 임의의 스크립트를 실행할 수 있습니다. 그리고 그들은 다른 계획에 따라 다를 수 있습니다. 이것은 내 목표를 달성하는 완벽한 방법처럼 보였습니다!
내가 한 일은 "configuration.json"이라는 빈 JSON 파일을 내 프로젝트에 추가하고 대상에 포함시킨 것입니다. 그런 다음 "configuration-dev.json"및 "configuration-prod.json"파일을 내 앱의 디렉터리에 넣었지만(소스 제어에 포함되도록) 프로젝트 자체에는 추가하지 않았습니다.
그런 다음 내
dev
스키마에 대해 이 스크립트를 빌드 전 작업으로 추가했습니다.cp "$SRCROOT/configuration-dev.json" "$SRCROOT/configuration.json"
bash에 익숙하지 않은 경우
cp
명령은 소스에서 대상으로 파일을 복사합니다. 이 경우 구성 파일의 dev 버전을 내가 프로젝트에 포함시킨 파일에 복사하여 이전에 있던 내용을 덮어씁니다.또한 "다음에서 빌드 설정 제공"이 "없음"이 아니라 내 앱 대상으로 설정되었는지 확인했습니다. 이는 프로젝트 파일이 있는 디렉터리의 경로인 스크립트에서
SRCROOT
를 가져오는 데 필요합니다.그런 다음
prod
작업에 대해 동일한 작업을 수행했습니다.cp "$SRCROOT/configuration-prod.json" "$SRCROOT/configuration.json"
이제
dev
스키마를 빌드할 때마다 configuration-dev
의 콘텐츠가 앱에 번들로 제공되고 prod
스키마를 빌드하면 configuration-prod
의 콘텐츠가 생깁니다.간단하죠? 분명히 여기에서 훨씬 더 복잡한 스크립트를 실행할 수 있고 필요한 경우 더 많은 작업을 수행할 수 있습니다. 그러나 지금까지 이 한 줄짜리 스크립트는 내가 가진 이 작은 문제를 해결한 것으로 보이며 어떤 단점도 보지 못했습니다.
Reference
이 문제에 관하여(Xcode 팁: 사전 빌드 작업), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/dillonmce/quick-tip-pre-build-actions-ojo텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)