[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에서 동일한 오류가 발생했으며 여기에 수동으로 수행하지 않은 솔루션이 있습니다.
- Project Navigator에서 프로젝트를 클릭합니다.
- 대상으로 이동하여 MyProjectNameTest를 클릭하십시오.
- 빌드 설정을 클릭하고“ 프레임 워크 검색 경로 ”를 검색합니다 .
- 아래 프레임 워크 검색 경로 , 경로를 삭제하고 “(상속) $”를 유지한다.
다음과 같은 오류가있는 경우 :
옵션 ‘-L /…에 대한 디렉토리를 찾을 수 없습니다.
즉, 라이브러리 오류이므로 아래 단계를 수행 할 수 있습니다.
- 프로젝트 (대상)를 클릭하십시오.
- 빌드 설정을 클릭하고 “라이브러리 검색 경로”를 검색합니다.
- Library Search Paths에서 경로를 삭제하고 “$ (inherited)”를 유지합니다.