여러 대상이있는 프로젝트가 있습니다. 프로젝트와 연관된 xcconfig 파일과 대상과 연관된 여러 xcconfig 파일이 있습니다.CocoaPods의 Pods.xcconfig가 기존의 Pods.xcconfig와 충돌합니다.
이제 타사 라이브러리를 CocoaPods를 통해 통합하고자합니다. 원래 프로젝트의 목표에 자신의 xcconfig 파일 Pds.xcconfig
를 연결하기 때문에 $ pod install
CocoaPods 원래 프로젝트를 나사 후. 이 명령은 프로젝트와 연관된 원래 xcconfig에 정의 된 설정을 완전히 무시하고 덮어 쓰고 대상과 관련된 원래 xcconfig 파일을 전환합니다. 따라서 프로젝트는 망쳐 버렸습니다. 디버그에 대한 예를 들어, 설정 파일 osx.debug.xcconfig
이
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
나는, 각 구성에 대해 서로 다른 CONFIGS이 : 예를 들어
는 Cocoapods는 각 대상에 연관되는 그 Pods.xcconfig
에 다음과 같이 정의한다
GCC_PREPROCESSOR_DEFINITIONS = DEBUG=1 DEBUG_LOG=2 __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES=0
그러한 충돌을 해결하기위한 합리적이고 가능한 방법은 무엇입니까?
편집 :
나는 GitHub의에 CocoaPods 문제 목록을 검색했습니다. xcconfig 파일과 관련된 많은 문제가있는 것으로 보이며 그 중 일부는 2 년 이상 된 것입니다. 그들은 논의되고 나서 닫힌다. 그러나 나에게 일어났던 것처럼 - 문제는 아직 해결되지 않았다.
IMHO, 이것은 근본적이며 기본적인 문제입니다. xcconfig 파일을 사용하는 프로젝트가 있습니다. 그런 다음 CocoaPods를 통해 타사 라이브러리를 포함하고자합니다. pod install
을 실행 한 후 프로젝트가 엉망입니다.
그럼,이게 뭐야?
불행하게도 GCC_PREPROCESSOR_DEFINITIONS, HEADER_SEARCH_PATHS, OTHER_CFLAGS 및 OTHER_LDFLAGS와 같이 확장하거나 수정할 수없는 빌드 설정이 있습니다 .Xcode xcconfig 파일이 이러한 선언을 처리 할 수 없으므로 :'HEADER_SEARCH_PATHS = $ (HEADER _SEARCH_PATHS) MyOtherIncludes'입니다. 이 작업을 수행하기 위해 Xcode의 xcconfig 파일 설정이 기본 빌드 설정을 수정하는 방법에 따라 현재 동작이 중단 될 수 있습니다. – CouchDeveloper