2017-10-27 11 views
1

많은 대상을 가진 Xcode 프로젝트가 있습니다. 그 중 6 가지는 빌드 단계에서 스크립트 실행을 사용하여 최종 릴리스 제품 (정적 라이브러리, 프레임 워크)을 빌드하는 집계입니다. 나는 개별적으로 그것들을 개별적으로 구축 할 수 있지만, 모든 것을 구축하기 위해 "하나의 버튼"을 칠 방법을 찾을 수는 없다.Xcode 프로젝트에서 모든 대상 (또는 체계)을 빌드하십시오.

접근 # 1

먼저 나는과 같이 명령 줄에서 -alltargets를 사용하여 시도 : 내 테스트 대상에 오류가 발생할 수 그와

xcodebuild -project MyProject.xcodeproj -alltargets 

, 그들은을 위해 만들어지는 것이 아니다라고 주장 테스트. 나는 그들이 정상적으로 "테스트"하기 때문에 그것이 무엇을 의미하는지 모른다. 이런 식으로 시도 할 때 다른 점이 있습니다. 그러나 기술적으로 그것은 내가 관심이없는 대상을 포함하고 있습니다. 효과가 있다면별로 신경 쓰지 않을 것입니다. 그것은의 엑스 코드의 관점에서 오류를 얻을하지 않습니다

xcodebuild -project MyProject.xcodeproj -target FirstAggregateTarget 
xcodebuild -project MyProject.xcodeproj -target SecondAggregateTarget 
xcodebuild -project MyProject.xcodeproj -target ThirdAggregateTarget 
xcodebuild -project MyProject.xcodeproj -target FourthAggregateTarget 
xcodebuild -project MyProject.xcodeproj -target FifthAggregateTarget 
xcodebuild -project MyProject.xcodeproj -target SixthAggregateTarget 

:

접근 # 2

다음 나는 개별적과 같이, 각각 집계 목표를 구축 실행 스크립트를했다 집계을 시도 볼 수 있지만 집계 중 일부는 제대로 작성되지 않습니다. 어떻게 든 개별 집계의 실행 스크립트는 최상위 집계에 영향을 받았다고 생각합니다.

접근 # 3

은 다음으로 다음 빌드 섹션에 나열된 여섯 집계를 가진 새로운 "RELEASE_PRODUCTS"기법을 시도했다. 그들이 될 것으로 예상되었다 발견되지 않는 빌드 제품에 대한

이 있었다

enter image description here

다른 모호한 오류 : 그와 함께이 같은 오류를 얻었다.

#!/bin/bash 

# Builds all release products 

xcodebuild -project MyProject.xcodeproj -target FirstAggregateTarget 

xcodebuild -project MyProject.xcodeproj -target SecondAggregateTarget 

xcodebuild -project MyProject.xcodeproj -target ThirdAggregateTarget 

xcodebuild -project MyProject.xcodeproj -target FourthAggregateTarget 

xcodebuild -project MyProject.xcodeproj -target FifthAggregateTarget 

xcodebuild -project MyProject.xcodeproj -target SixthAggregateTarget 

에서만 작동하는 일이 될 것 같다 :

접근 # 4

다음 나는과 같이, 엑스 코드의 외부에서 완전히 실행하는 스크립트를 만들었습니다. 그러나 Xcode 내에서이 작업을 수행 할 수 있다면 좋겠지 만 원하는 경우 커맨드 라인에서 충돌 할 수있는 무언가가 될 수 있습니다. IDE를 벗어날 필요가 없으며 성공 또는 실패로보고 할 수 있기 때문입니다.

답변

0

다른 6 개의 타겟에 따라 더미 타겟을 만들 수 있습니다. 빌드 단계 탭에서 대상 종속성 사용

+0

나는 마음이 생각하는 것을 좋아합니다. 나도 그렇게해야한다고 생각하지만, 그것은 나를 위해하지 않습니다. "Rm : ... : Directory가 비어 있지 않습니다"라는 오류 메시지가 나타납니다. 나는 문제가 의존성으로 스크립트를 실행하는 다른 집계를 갖는 집계와 관련되어야한다고 생각한다. 뭔가 다른 상황에서 확실히 작동하는 것처럼 종속성을 알고 있기 때문에 뭔가 그 맥락에서 바로 작동하지 않아야합니다. –