클라이언트가 blah-device.a와 blah-simulator.a라는 두 개의 미리 컴파일 된 라이브러리를 제공합니다. 디바이스 컴파일 모드와 시뮬레이터 컴파일 모드에서 blah-device.a를 사용하도록 xcode에 지시하려면 어떻게해야합니까?iPhone 용 XCode에서 다른 빌드 프로파일에 대해 서로 다른 미리 컴파일 된 라이브러리를 연결하는 방법은 무엇입니까?
제 의뢰인은 나에게이 지침
이
- 열기 (그룹] & 파일 패널로) 대상 그룹의 프로젝트 아이콘을 마우스 오른쪽 단추로 클릭 한 다음 추가를 선택>을 제공합니다 기존 프레임 워크.
- 링크 된 라이브러리 섹션에서 라이브러리 추가 아이콘 (+) 아이콘 을 클릭 한 다음 기타 추가를 클릭합니다.
- 장치에서 직접 개발하기위한 blah-device.a 또는 에서 을 개발할 때 사용하는 blah-simulator.a를 선택하고 추가를 클릭합니다.
은 이미 그러나이 지침은 다른 프로필을 쉽게 구축하지 않습니다, 거기에 헤더 파일을 복사.
SIMULATOR 프로파일로 빌드 할 때 디바이스 프로파일로 빌드 할 때 blah-device.a와 blah-simulator.a를 연결할 때 Xcode를 어떻게 연결합니까?
도움을 주시면 대단히 감사하겠습니다.
덕분에 다른 연결 경로의를 사용할 수 있습니다! 어쨌든 다른 타겟없이이 작업을 수행하고 Xcode 프로필 빌드 설정 만 사용하면됩니까? – CVertex
문제는 blah-device.a와 blah-simulator.a가 동일한 기호를 내보내는 것입니다. 이 문제를 해결하는 한 가지 방법은 헤더의 #if TARGET_IPHONE_SIMULATOR ...를 기반으로 테스트하고 Foo를 FooDevice 대 FooSimulator의 전처리 매크로로 정의하는 것입니다. 그런 다음 두 라이브러리를 모두 포함 할 수 있으며 오른쪽 심볼이 링크됩니다. 그러나 두 라이브러리에 동일한 링커 심볼이 포함되어 있으면 중복 심볼 오류가 발생합니다. 이 경우 유일한 방법은 하나의 상황에서 다른 상황과의 연결을 제외시키는 것입니다. 링커 경로 값을 가지고도 할 수 있지만 여러 대상을 사용하는 것이 훨씬 쉽습니다. – Ramin