2012-08-05 2 views
4

Xcode 프로젝트가 있습니다. 엑스 코드에서 대화 형으로, 나는 Ad_Hoc_Distribution 구성을 사용/구축/아카이브를 실행할 수 있어요하지만 난 실행할 때 때 :Xcode 인터페이스를 통해 iOS 프로젝트를 빌드 할 수 없습니다.

/Users/esg/Documents/app-ios/testapp/testapp/AppDelegate.h:14:9: fatal error: 'RestKit/RestKit.h' file not found 
#import <RestKit/RestKit.h> 
    ^
1 error generated. 

것은이 원인이 무엇 : 내 프로젝트 내부

/usr/bin/xcodebuild -configuration Ad_Hoc_Distribution clean build 

을, 오류가 발생합니다 인터페이스를 통해 작동 할 때 명령 줄에서 실패합니까?

답변

2

팀에서 이와 같은 문제가 발생했습니다. Xcode 4.3.2에서 4.4.1로 업그레이드 한 후에 올바르게 발견 된 파일은 더 이상 수행하지 않습니다.

xcodebuild와 Xcode 자체 빌드 로그의 출력을 비교 한 다음 Xcode 4.3.2 빌드 로그와 비교하면 xcodebuild와 Xcode IDE가 더 이상 동일한 헤더 종속성으로 빌드되지 않는다는 것을 발견했습니다. xcodebuild가 4.4.1 빌드를 실행하면 .xcodeproj 디렉토리로 이어지는 전체 현재 경로를 포함하지 않는 포함 파일에 대해 잘못된 기본 디렉토리가 사용됩니다. 폴더 경로의 마지막 두 디렉토리 노드가 잘린 것처럼 보입니다.

그러나 Xcode IDE에서 빌드하면 정상적으로 작동합니다.

우리는 엑스 코드가 그것을보고로 추가 헤더 종속성으로, 올바른 헤더 경로를 추가하여이 문제를 해결했다 :

corporate info redacted to protect, well, me

$ (SRCROOT) xcodebuild이 때 잘못 해석 될 것으로 보인다 무엇인가 고용. 그것은 두 번째 줄에 삽입 한 두 개의 하위 디렉토리를 포함해야합니다.

xcode/xcodebuild 상호 작용에 새롭고 매끄러운 새 버그가 있다고 결론을 내릴 수 있지만 적어도 컴파일 작업을 수행하기 위해 헤더 종속성을 수정할 수 있습니다.

+1

정보 주셔서 감사합니다. 이는 내가 해결 한 방식과 매우 유사합니다. 기본적으로 수동으로 pbxproj 파일을 편집하여 포함해야하는 다른 경로를 찾을 때마다 필요한 헤더 검색 경로를 추가했습니다. 이제 작동합니다. – Eric

+0

우리는 이것이 우리의 xcodebuild 명령 행에 SRCROOT = 지시어를 사용했기 때문이라고 판단했습니다. 우리는 그것을 꺼내었고 빌드는 실패했습니다. 그들이 Xcode 4.3.2를 사용하는 이유는 알려져 있지 않습니다. SRCROOT = 값이 올바른 것처럼 보였지만 대신 문제를 해결했습니다. –

1

관련하여 내 문제를 참조하십시오.

xcodebuild header files not found in ReskIt

나는 아무 것도 변경하지하여 해결하지만, 작업 공간과 방식을 추가하여 빌드하는 데 사용했다. 모든 헤더 설정은 Xcode GUI를 빌드 할 때 설정 한 것과 동일합니다.