Xcode 4-빌드 출력 디렉토리


217

Xcode4 (베타 5)에서 출력 파일을 설정 / 찾는 데 문제가 있습니다. 그들은 어딘가에 배치됩니다 ~/Library/Developer/ugly_path/.... 내 제품에서 "파인더에 표시"를 선택할 수도 없습니다. 간단한 C 프로젝트, Foundation 툴, 심지어 Cocoa 번들도 마찬가지입니다. 디버깅이 잘 작동합니다.

출력 디렉토리를 설정하고 빌드하는 위치와 방법을 알려주시겠습니까? (나는 그것이 바보처럼 들린다는 것을 알고, 몇 달 동안 Xcode3로 코딩 해왔지만 Xcode4 베타에서는 알아낼 수 없다).

고마워

답변:


342

상단의 Xcode 메뉴에서 환경 설정을 클릭하고 위치 탭을 선택한 다음 빌드 위치 옵션을 확인하십시오.

두 가지 옵션이 있습니다.

  1. 파생 데이터 위치에 빌드 제품 배치 (권장)
  2. 대상이 지정한 위치에 빌드 제품을 배치하십시오.

업데이트 : xcode 4.6.2에서는 파생 데이터 텍스트 필드 아래의 오른쪽에있는 고급 버튼을 클릭해야합니다. 빌드 위치 선택 레거시.


27
이 답변은 왜 이러한 변경이 이루어 졌는지 설명합니다 : stackoverflow.com/questions/5331270/…
toofah

3
자랑스러운 회원, 이것이 Xcode 5에없는 것은 무엇을 의미합니까? 환경 설정-> 위치-> 파생 데이터-> 고급에 있습니다.
Richard Venable

좋아, 그래서 내 빌드는 .../XCode/DerivedData/폴더에 들어가고 간단합니다. 하위 폴더는 제외하고 AppName-asdflkjqwergoobledygook. 스크립트로 빌드하고 있기 때문에 실제로 빌드를 찾고 싶습니다 (따라서 패키지를 만들어 TestFlight를 통해 보낼 수 있습니다) MyAppName-xxxx. 감사!
Olie

@Olie 또한 파생 된 데이터 위치를 원하는 경로로 변경할 수 있습니다.
Gerard

@ Gerard : 할 수는 있지만, 내가하고 싶은 것이 아닙니다. 리포지토리에서 소스를 확인한 다음 명령 줄을 통해 빌드하고 있으며 빌드가 어디로 가고 있는지 알고 싶습니다. 내 빌드 스크립트가 어떤 식 으로든 프로젝트를 수정하는 것은 적절하지 않습니다 (예 : 프로젝트 설정을 변경하여)
Olie

140

명령 행에서 빌드하는 경우 다음과 같은 방법으로 출력 디렉토리를 설정할 수 있습니다.

xcodebuild -workspace 'WORKSPACE_NAME.xcworkspace' \
           -scheme 'SCHEME_NAME' \
           -configuration 'Release' \
           -sdk iphoneos7.0 CONFIGURATION_BUILD_DIR='OUTPUT_DIRECTORY'

내 쉬 스크립트 내가 작은 따옴표 및 쓰기 단지 CONFIGURATION_BUILD_DIR = / 사용자를 제거하는 데 필요한 워킹 확인하려면 / ...
Stanislav Pankevich

@occulus, 프로젝트를 빌드 한 후 테스트 대상을 빌드하지 못하면 절대적으로 옳습니다. 프로젝트를 빌드하는 경우 괜찮을지 모르지만 절대 경로를 사용하는 것이 좋습니다!
Mostafa Berg

다른 사람이 비슷한 문제를 해결하려는 경우 XCode 6.x 가이 조합을 사용하여 필요한 위치에 링크 된 바이너리를 정확하게 배치하도록 설득 했습니다./Users/moi/src/mozbuilds/xul3604/$(CONFIGURATION)/dist/bin
J Evans

29

Xcode 5에서 : Xcode 메뉴> 환경 설정 ... 항목> 위치 탭> 위치 하위 탭> 고급 ... 버튼> 사용자 정의 옵션.

그런 다음 예를 들어 작업 공간에 상대적을 선택하십시오 .


8
백 살, 강하고 건강한 선생님으로 살기를 바랍니다. 감사합니다 !
WhozCraig 2:14에

13

Xcode 4 빌드 위치 설정을 "파생 데이터 위치에 빌드 제품 배치 (권장)"로 설정 한 경우 ~ / Library / Developer / Xcode / DerivedData에 위치해야합니다.이 디렉토리에는 프로젝트가 디렉토리로 있습니다. 프로젝트 이름에는 생성 된 문자가 추가되므로 신중하게 살펴보십시오.


10

파생 된 데이터는 유지하지만 DSTROOT를 사용하여 대상을 지정하십시오.

DEPLOYMENT_LOCATION을 사용하여 배포를 강제 실행하십시오.

문서화되지 않은 DWARF_DSYM_FOLDER_PATH를 사용하여 dSYM도 복사하십시오.

이를 통해 xcodebuild에서 파생 된 데이터 위치를 사용할 수 있으며 앱을 찾기 위해 별난 일을 할 필요가 없습니다.

xcodebuild -sdk "iphoneos" -workspace Foo.xcworkspace -scheme Foo -configuration "Debug" DEPLOYMENT_LOCATION=YES DSTROOT=tmp DWARF_DSYM_FOLDER_PATH=tmp build

8

빌드 로그 뷰어를보고 경로를 터미널 창에 복사하여 빌드 디렉토리를 항상 찾을 수 있습니다.

나는 이것을 사용하여 스트레이 파일이 포함되지 않도록 iOS .app 번들을 설치하기 전에 분석합니다.


그렇게 설득력있는 애플. 아니!
zaph

1
그리고이 빌드 로그를 어디에서 찾을 수 있습니까? Xcode 도움말에서 "빌드 로그"를 검색하면 0 개의 결과가 반환됩니다.
devios1

1
Nm, 연설 거품처럼 보이는 "Log Navigator"를 찾았습니다.
devios1

4

스크립트에서 빌드 디렉토리를 찾고 싶지만 변경하지 않으려는 사람은 다음을 실행하여 DerivedData의 폴더를 가리키는 모든 빌드 설정 목록을 가져 오십시오.

xcodebuild -showBuildSettings | grep DerivedData

사용자 정의 대상 및 구성표를 실행하는 경우 다음과 같이 배치하십시오.

xcodebuild -workspace "Foo.xcworkspace" -scheme "Bar" -sdk iphonesimulator -configuration Debug -showBuildSettings | grep DerivedData

출력을보고 원하는 설정 출력을 찾은 다음 :

xcodebuild -showBuildSettings | grep SYMROOT | cut -d "=" -f 2 - | sed 's/^ *//'

마지막 부분은 문자열을 등호로 자른 다음 시작 부분에서 공백을 자릅니다.


2

새 Xcode4 작업 공간을 사용하는 경우, 당신은 변경할 수 있습니다 파생 데이터 위치 에서 파일 -> 작업 공간 설정 ...


1

CONFIGURATION_BUILD_DIR환경 변수를 사용하여 출력 디렉토리를 구성 할 수 있습니다 .

출처 : http://developer.apple.com/library/mac/#documentation/DeveloperTools/Reference/XcodeBuildSettingRef/0-Introduction/introduction.html#//apple_ref/doc/uid/TP40003931-CH1-SW1


어떤이는 (목표 PER) 위치 동작 파생 된 위치 / 레거시와 관련되지 않은
그레고리 Pakosz

그렇습니다. 어느 쪽이든 작동합니다. 문서에서 : "디렉토리 경로. 활성 빌드 구성에 대한 모든 빌드 관련 파일이있는 디렉토리를 식별합니다."
히스 국경

아니. xcode4 Xcode > Preferences > Locations > Derived data가 아니라 가장 투표 된 답변에서 설명한 설정에 따라 다릅니다 . + 당신이 언급 한 문서는 2010 년에 마지막으로 업데이트되었습니다
Gregory Pakosz

실제로이 설정을 사용하여 xcodebuild의 xcode4로 빌드 디렉토리를 구성했습니다. 시도 해봐.
히스 국경

1
글쎄, Xcode 4.3.1 (IDE에서)을 사용해 보았고 전역 설정을 변경하지 않고 제품은로 ~/Library/Developer/Xcode/DerivedData/지정한 디렉토리 내부가 아닌 곳에 빌드 됩니다 CONFIGURATION_BUILD_DIR. 내가 원하는 경우 CONFIGURATION_BUILD_DIR영광, 나는 엑스 코드는 "레거시"데이터 환경을 유도 전환해야
그레고리 Pakosz

0

Xcode 환경 설정을 사용하기 전에 확인해야 할 또 다른 사항은 다음과 같습니다.

대상을 선택하고 빌드 설정> 패키징> 랩퍼 확장으로 이동하십시오.

가치가 있어야합니다 : app

두 번 클릭하지 않으면 qoutes없이 "app"를 입력하십시오.


-1

너무 귀찮았습니다. 프로젝트를 열고 Target, Open Build Phases 탭을 클릭하십시오. 복사 품목 자원에 빨간색 품목이 있는지 확인하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.