[xcode] Xcode 7 라이브러리 검색 경로 경고

다음은 표시되는 경고입니다.

‘-F / Applications / Xcode-beta.app / Contents / Developer / Platforms / iPhoneOS.platform / Developer / SDKs / iPhoneOS9.0.sdk / Developer / Library / Frameworks’ “옵션에 대한 디렉토리를 찾을 수 없습니다.

누구든지 경고 해결을 도울 수 있습니까?



답변

이것이 제가이 문제를 해결 한 방법입니다.

Xcode 프로젝트를 Xcode 6.4에서 Xcode 7로 마이그레이션하는 것 외에도 테스트 대상에 대해 아래 (컴파일 후) 경고 메시지가 표시됩니다 .

directory not found for option '-F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk/Developer/Library/Frameworks'

사실 새 프로젝트와 이전 프로젝트를 비교할 때 뭔가를 찾았습니다 …

이전 프로젝트에서 경고는 내 프로젝트 의 테스트 대상 에서만 생성되었습니다 . 아래 ‘검색 경로’ , 나는 아래 두 개의 항목을 포함했다 발견 ‘프레임 워크 검색 경로’ :

$(SDKROOT)/Developer/Library/Frameworks
$(inherited)

새 프로젝트는 ‘프레임 워크 검색 경로’를 비워 두었습니다 .

내 이전 프로젝트에서 해당 항목을 삭제하면 경고가 제거되었습니다.

노트:

설정을 철저히 비교하지 않았기 때문에 추가적인 차이가있을 수 있습니다.

또한 언젠가 다음 두 가지 경고 메시지 중 하나가 다시 발생 하는 경우이를 수행해야한다는 점을 기억하십시오. 경고 '-L/...'가 라이브러리 검색 경로 인 옵션에 대한 것이라면 거기에서 항목을 삭제하십시오. 그러나 경고가 '-F/...'프레임 워크 검색 경로 인 옵션에 대한 것이라면 거기에서 항목을 삭제하십시오.


답변

오류 메시지에 따르면 첫 번째 비즈니스 순서는 대상의 경로를 곧게 펴는 것입니다. 이 StackOverflow 질문 에 대한 답변에 표시된대로 경로를 편집 할 수 있습니다 . 오류를 생성하는 것이 확실하지 않은 경우 모든 대상에 대한 경로를 확인하십시오. 프로젝트를 Xcode 7 베타로 업그레이드 한 후 잠시 동안 저를 던졌습니다. FRAMEWORK_SEARCH_PATHS에 삭제해야하는 테스트 대상의 경로가 있습니다. 거기에 있었던 경로는 경고를 받고있는 경로와 정확히 일치했습니다. 경로를 제거하면 제거되었습니다.


답변

King-Wizard 는 본질적으로 정확합니다.

Xcode 7은 XCtest.framework존재하지 않는 경로에서 테스트 프레임 워크 를 찾고 있습니다. 에 의한 경로 세트 $(SDKROOT)/Developer/Library/Frameworks‘검색 경로 -> 프레임 워크 검색 경로는’아래에있는 프레임 워크를 찾고는에 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/Developer/Library/Frameworks있는 유효한 경로가 아닙니다. 줄 $(SDKROOT)/Developer/Library/Frameworks을 삭제하여 오류를 제거하고 테스트를 계속 실행할 수 있습니다.

‘XCTest.framework’의 올바른 경로 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks는 궁금한 사람들을위한 것입니다.

도움이 되었기를 바랍니다.


답변

Xcode 9.2에서 동일한 오류가 발생했으며 여기에 수동으로 수행하지 않은 솔루션이 있습니다.

  1. Project Navigator에서 프로젝트를 클릭합니다.
  2. 대상으로 이동하여 MyProjectNameTest를 클릭하십시오.
  3. 빌드 설정을 클릭하고“ 프레임 워크 검색 경로 ”를 검색합니다 .
  4. 아래 프레임 워크 검색 경로 , 경로를 삭제하고 “(상속) $”를 유지한다.

여기에 이미지 설명 입력

다음과 같은 오류가있는 경우 :

옵션 ‘-L /…에 대한 디렉토리를 찾을 수 없습니다.

즉, 라이브러리 오류이므로 아래 단계를 수행 할 수 있습니다.

  1. 프로젝트 (대상)를 클릭하십시오.
  2. 빌드 설정을 클릭하고 “라이브러리 검색 경로”를 검색합니다.
  3. Library Search Paths에서 경로를 삭제하고 “$ (inherited)”를 유지합니다.

답변