Xcode 10으로 업그레이드 한 후 문제 : 빌드 입력 파일을 찾을 수 없습니다.


105

어젯밤에 Xcode SDK를 버전 10으로 업그레이드 한 후 빌드 할 수 없습니다.

이 오류가 발생합니다.

빌드 입력 파일을 찾을 수 없습니다 : '/Users/call01/Library/Developer/Xcode/DerivedData/Comp-Lite-Apps-gytvmossqptokeafrddvvmnlzadk/Build/Products/Debug-iphoneos/SG11.app/SG11

업그레이드 전에 존재하지 않았으며 되돌리고 싶지만이 문제를 해결할 수 있다면 버전 10을 계속 사용하고 싶습니다.

답변:


131

Legacy Build System( File > Project Settings > Workspace Settings > Legacy Build System) (으 )로 다시 전환 해보십시오.


2
좋은. 하지만 나중에 무슨 일이 일어날 지 아직도 궁금합니다. 프로젝트를 수정해야하지만 어떻게해야합니까?
Teddy

1
@Teddy 나는 아직도이 해결 방법 사용, 아직 해결책을 찾을 수 없습니다
schmidt9

2
@ schmidt9 모자를 벗고, 생명의 은인 이셔서 감사합니다. 둘째,이 새로운 빌드 시스템이 문제라고 믿을 수 없습니다. 나는 며칠 동안 이것으로 어려움을 겪어 왔습니다. iOS 12 및 XCode 10으로 업데이트 한 후 자동 서명이 중단되었습니다. 나는 모든 것을 시도했고 심지어 모든 인증서를 취소하고 다시 만들었습니다. 및 프로필. 서명이 수정되었지만 프로비저닝 프로파일은 항상 NONE이었습니다. 앱에 수동으로 서명 할 수 있고 작동했지만 게시 된 앱에서 iCloud 컨테이너 및 기타 요소가 누락되었습니다. 어쨌든 내 문제를 해결했습니다. 사과가 각 업데이트로 나를 좌절시키는 방법. 건배!
Nexus

이것은 자동 서명 및 프로파일 링 문제를 해결했습니다. 하지만 여전히 iCloud 컨테이너에 문제가 있습니다. 내 휴대폰에 직접 앱을 설치하면 제대로 작동합니다. iCloud 컨테이너가 있고 iCloud 문서를 사용하여 iCloud 저장소의 파일을 첨부합니다. 하지만 TestFlight에 앱을 릴리스하면 작동하지 않습니다. iCloud 컨테이너가 분산 된 앱의 프로필에없는 것처럼 조용히 실패합니다. 엄청나게 실망 스럽습니다.
Nexus

1
@Nexus 새로운 빌드 시스템의이 문제는 Apple이 출시 한 이후로 지속됩니다 (xcode 8 또는 9). 죄송합니다 iCloud에 컨테이너를 처리하지 않은 문제가있을 수 있습니다 무엇을 말할 수 없다
schmidt9

89

프로젝트에 속하는 Swift 파일 또는 파일의 경우 :

Build input file cannot be found: PATH/TO/FILE/FILE.swift

이 문제는 파일 또는 폴더가 프로젝트에서 제거되거나 이동 된 경우 발생할 수 있습니다.

그것을 해결하기 위해:

  1. 프로젝트 탐색기로 이동하여 프로젝트를 선택하십시오.

  2. Build Phases탭 선택

  3. 에서 Compile Sources섹션 파일 (들)에 대한 검사 엑스 코드는 불평된다

  4. 파일의 경로가 잘못되었음을 확인하고 빼기 아이콘을 클릭하여 삭제합니다.

  5. 더하기 아이콘을 클릭하여 파일을 다시 추가하고 프로젝트에서 검색합니다.

  6. 제품> 빌드 폴더 정리

  7. 짓다

일반적으로 Recovered References프로젝트 트리의 Xcode 폴더 에서 이러한 누락 된 파일을 찾을 수 있습니다 (Xcode의 왼쪽 하단에있는 검색 표시 줄을 찾아 불만 파일을 검색하십시오).

이 폴더에서 삭제하면 오류를 해결할 수도 있습니다.


1
감사합니다! 삭제 된 파일에 대한 참조가 있습니다. 이러한 참조를 삭제하는 것만으로 문제가 해결되었습니다
Jason

때때로 XCode 내에서 이름을 바꿀 때 'Finder'의 파일이 여전히 이전 이름을 유지합니다. 'Finder'에서 파일을 찾아 새 이름으로 바꿉니다.
Tony

58

나를 위해 Xcode 10에서이 솔루션은 매력적으로 작동했습니다. 복구 된 참조 폴더로 이동하여 모든 파일을 빨간색으로 제거하고 적절한 참조와 함께 다시 추가하십시오.

여기에 이미지 설명 입력


10
내 프로젝트에서 "Recovered References"를 찾을 수 없습니다
david m lee

4
빨간색 파일을 제거한 후 "적절한 참조로 다시 추가"한다는 것은 무엇을 의미합니까?
PrimeTimeTran

@PrimeTimeTran 드래그 앤 드롭 또는 복사 붙여 넣기를 사용하여 프로젝트에서 해당 파일 참조를 다시 추가 할 수 있음을 의미했습니다. 프로젝트에 새 파일을 추가하는 것과 같습니다.
Krishna Thakur

3
@davidmlee이 사람이 의미하는 바는 "프로젝트의 모든 폴더를 열고 빨간색 항목을 삭제 한 다음 다시 추가합니다."라고 생각합니다. 복구 된 참조 폴더가 필요하지 않습니다.
bearacuda13

17

이것은 Xcode 10에서 나를 위해 일했습니다.

  • Xcode 프로젝트에서 프로젝트 아이콘 / 이름을 클릭하십시오.
  • 일반 탭으로 이동
  • ID 섹션에서 [info.plist 파일 선택]을 클릭합니다.
  • info.Plist 파일 선택
  • info.plist가 성공적으로로드되었는지 확인하려면 정보 탭을 확인하십시오.
  • 빌드 및 실행

15

재미있게도 Xcode를 닫고 다시 여는 것으로도 충분할 수 있습니다.


파생 데이터도 삭제했지만 단순히 닫거나 다시 여는 것으로 충분할 수 있습니다.
Adam Johns 19

나는 이것이 Visual Studio에서 문제를 해결하는 방법이라고 생각했지만 ...
SEG.Veenstra

14

위의 솔루션은 결국 저에게 효과적입니다. 그러나 마침내 성공적으로 컴파일하려면 몇 가지 추가 단계를 수행해야합니다. (이러한 추가 단계는 Xcode 9에서도 필요했습니다.)

  1. Xcode : 파일-> 작업 공간 설정-> 빌드 시스템 : 레거시 빌드 시스템
  2. Xcode : 제품-> 청소
  3. 회전하여 "iPhone 8", "iPhone 8 Plus"등과 같은 다양한 에뮬레이터 유형을 통해 컴파일합니다 (실패 할 수도 있고 아닐 수도 있음).
  4. 결국 "일반 iOS 장치"에서 컴파일

나는 그것을 작동시키기 위해 이러한 단계 중 일부를 거쳐야했습니다.
Liwen Zhao

13

대상의 빌드 설정 에서 .plist 파일의 경로를 확인하십시오.

여기에 이미지 설명 입력


네-plist를 별도의 폴더로 옮겼습니다. 이전에는 가상 폴더 였지만 이제는 실제 폴더라고 생각합니다 (오래된 파란색 / 노란색 폴더). 어느 쪽이든 귀하의 답변이
Peter

10

이 문제를이 방법으로 해결했습니다. 프로젝트의 빌드 단계로 이동합니다 (맨 위에있는 프로젝트 아이콘을 클릭 한 다음 빌드 단계를 클릭). 거기에서 파일을 검색하십시오. 있는 경우 (회색으로 표시됨) 삭제하십시오. 그런 다음 청소 (shift + alt + command + k)하고 실행하십시오! 도움이되기를 바랍니다.


9

오류가 Info.plist를 찾을 수 없다고 표시되고 잘못된 경로를 찾고있는 경우 다음을 수행하십시오.

  1. 네비게이터에서 프로젝트를 선택한 다음 대상을 선택하십시오.
  2. "Build Settings"를 선택하고 "plist"를 검색합니다.
  3. Info.plist 파일이라는 옵션이 있어야합니다. 위치를 올바른 위치로 변경하십시오.

이 대답은 앱 폴더 / 구조의 이름을 바꾸는 경우에도 적용됩니다. 감사합니다 @keverly
LOREM

5

위의 어느 것도 나를 위해 일하지 않았지만 이것은했습니다.

  1. Finder에서 프로젝트를 열고 .xcodeproj 파일을 마우스 오른쪽 버튼으로 클릭하고 패키지 콘텐츠를 표시합니다.
  2. 텍스트 편집기에서 project.pbxproj 열기
  3. 누락 된 파일에 대한 참조 찾기
  4. path = "path/to/file.swift"디스크의 실제 위치를 편집 하고 파일을 저장하십시오.
  5. 프로젝트 다시 빌드

이것은 그것을 고친 것입니다 ... 믿을 수 없습니다
David Seek

여기도 마찬가지입니다. 도대체 어떻게 알아 냈어?
Peter Schorn

2

프로젝트 파일이있는 오른쪽 탐색 창을 열거 나 JSUT에서 cmd + 1을 클릭 한 다음 "Recovered References"폴더를 검색하여 모든 빨간색 파일을 엽니 다 (삭제). 그러면 모든 것이 잘 작동합니다.


2

내 단위 테스트를 구축하기 위해 이런 일이 발생했습니다. 예제 테스트를 삭제했기 때문에 발생했을 수 있습니다.

단위 테스트 번들을 제거한 다음 아래 그림과 같이 다시 추가했는데 모든 것이 다시 잘되었습니다.

여기에 이미지 설명 입력

여기에 이미지 설명 입력


2

파일 이름을 바꾼 후이 오류가 발생했습니다. 어떻게 든 Xcode가 디스크의 실제 파일 이름을 올바르게 변경하지 않았습니다.

그래서 파일을 찾을 수 없었습니다. 때로는 파일이 빨간색 텍스트 색상으로 강조 표시됩니다. 다른 때는 파일 앞의 Swift 아이콘이 회색 오버레이로 표시되었습니다.

수정은 간단했습니다.

  • 오류를 살펴보고 찾을 수없는 파일을 정확히 확인하십시오.
  • 찾을 수없는 파일을 선택하십시오.
  • '파일 검사기'로 이동합니다. Xcode의 오른쪽 탐색 창에 있습니다.
  • 폴더 아이콘을 클릭하십시오.
  • 올바른 파일을 선택하십시오.
  • 빌드를 정리하고 다시 실행하십시오.

1

최근에 새로운 빠른 버전으로 업그레이드 한 후 비슷한 문제가 발생했습니다. 파일을 이동하면 xcode 프로젝트가 더 이상 프로젝트 디렉토리에없는 항목을 참조하여 오류 코드 빌드 입력 파일을 찾을 수 없음이 표시됩니다.

내 상황에서는 어떻게 든 아래에 설명 된대로 참조되는 여러 파일 / 이미지가 있습니다.여기에 이미지 설명 입력

위 이미지에서.

  • 타겟 페이지로 이동합니다.
  • 그런 다음 상단의 빌드 단계 탭을 클릭하십시오.
  • 번들 리소스 복사까지 아래로 스크롤
  • 영향을받는 파일을 찾아 제거하십시오. (삭제를 누르거나 선택하고 마이너스 버튼을 누르십시오)

다른 폴더에서 참조되는 여러 파일과 이미지가 여기에 있었고 더 이상 찾을 수 없어 빌드가 실패했습니다. 그리고 나는 그들도 찾을 수 없었습니다! 또는 Xcode가 여전히 그들을 참조하는 방법

나는 이것이 다른 사람에게 도움이되기를 바랍니다!


1

나는 같은 문제가 있었다. 문제는 Target> Build Phases> Compile Sources 아래에 파일이 없다는 것입니다. 컴파일 소스에 최소한 하나의 파일을 추가 한 후 문제가 해결되었습니다.


1

내가 잘못한 것은 아니지만 완전히 다른 이유로이 문제에 부딪 쳤고 그 원인을 알았습니다.

이전에 파인더를 사용하고 파일을 프로젝트의 디렉토리 / 폴더로 드래그했습니다. 나는 하지 않았다 으로 끌어 엑스 코드 . Xcode가 해당 파일을 프로젝트에 포함 시키려면 나중에 다시 Xcode로 드래그해야했습니다.

그러나 해당 파일이없는 새 분기로 전환했을 때 (필요하지 않은 경우도 있음) Xcode에서이 오류가 발생했습니다.

빌드 입력 파일을 찾을 수 없음 : '/ Users / honey / Documents / xp / xpios / powerup / Models Extensions / CGSize + Extension.swift'


빌드 폴더를 정리하고 파생 데이터를 삭제했지만 Xcode를 다시 시작할 때까지 작동하지 않았습니다.


1

이것은 나를 위해 일했습니다.

  1. 붉은 색 파일을 삭제하십시오
  2. 파생 데이터에서 파일 삭제
  3. 빌드 폴더 정리
  4. 그런 다음 파일-> 작업 공간 설정에서 "새 빌드 시스템"을 사용하여 빌드 해보십시오.

1

제 경우에는 XCode가 언급 한 파일 (및 디렉토리)이 올바르지 않았으며 Git이 비교적 큰 브랜치와 병합 된 후 문제가 발생하기 시작했습니다. 동일한 문제를 해결하기 위해 다음 단계를 수행했습니다.

  • XCode의 디렉토리 시스템에서 파일을 검색했습니다.
  • 빨간색으로 강조 표시된 오류 파일을 찾았습니다 (즉, 누락 됨).
  • 파일을 마우스 오른쪽 버튼으로 클릭하고 파일을 제거했습니다.
  • 나는 내 코드를 다시 만들려고했지만 성공했다.

이 단계가 누군가에게 도움이되기를 바랍니다.


0
  1. Xcode-> 파일-> 프로젝트 설정으로 이동하십시오.
  2. 빌드 시스템 변경 :- "레거시 빌드 시스템".
  3. 청소, 빌드 및 실행을 누르십시오.

0

Xcode가 불평 한 것은 프로젝트-> 빌드 단계-> 번들 리소스 복사, "문제가있는"XIB 제거, 정리 (CMD + Shift + K), 빌드 및 다시 추가하여 작업 한 XIB 파일이었습니다.


0

때로는 파일을 다른 폴더로 이동할 때, 특히 다른 폴더로 이동할 때 info.plist해당 파일의 위치를 ​​정의해야 할 수도 있습니다. 이 문제를 해결하려면 상단의 프로젝트 파란색 아이콘을 클릭하기 만하면 프로젝트 이름과 번들 ID 대신 버튼이 표시됩니다.이를 클릭하고 info.plist거기 에서 파일을 찾은 다음 행복하게 정리하고 컴파일하십시오.


0

Xcode 10으로 업그레이드 한 직후이 문제가 발생했지만 문제가되지 않았습니다.

빌드 시스템을 변경하려고 시도했지만 동일한 의미의 별도 오류가 발생했습니다. 일반적으로 "파일 X를 찾을 수 없습니다"라고 말합니다.

파일을 찾을 수없는 경우 확인해야 할 사항이 여러 가지 있습니다.

  1. 복구 된 참조 폴더 Apple은 존재하지 않는 파일에 대한 참조를 감지하면이 참조를 "Recovered References"라는 그룹에 추가합니다.

그것은 Apple에게 좋지만 항상 작동하지는 않습니다.

  1. 빌드 단계 컴파일 소스이 목록에는 프로젝트가 컴파일한다고 가정하지만 파일이 실제로 존재하지 않고 주어진 경로에서 파일을 찾으려고하는 파일에 대한 메타 데이터가있을 수 있습니다. 이 목록에서 파일의 대상 종속성을 토글하거나 수동으로 제거하고 드래그하여 흐리게 표시하고 삭제 한 다음 다시 추가합니다.

  2. 파일 경로 오류가 출력되는 파일 경로와 파인더에서 파일 경로를 다시 확인하십시오. Xcode에서 파일을 클릭하고 "Show the file inspector"탭 (가장 왼쪽 탭)을 선택하면 쉽게 확인할 수 있습니다. 이 경로가 정확하다면 당신은 좋은 것입니다!

  3. 복구 된 참조 또는 빨간색이 아닌 프로젝트의 파일을 흐리게 표시했습니다. 이것은 무슨 일이 일어 났는지 명확하지 않기 때문에 나를 화나게했지만 기본적으로 프로젝트에서 참조를 업데이트하지 않고 파인더로 가서 파일을 다른 위치로 이동하면 파일이 더 이상 존재하지 않으므로 오류가 발생합니다. 내가 찾은 유일한 표시는 "프로젝트 네비게이터"탭 (가장 왼쪽 탭)에있는 파일이 매우 약간 희미하다는 것입니다.하지만이 파일을 삭제하려고 할 때 Xcode는 참조를 삭제하거나 다음 주소로 보내라는 메시지를 표시하지 않습니다. 폐물. 파일을 삭제하고 프로젝트에 다시 추가하거나 "파일 검사기"탭으로 이동하여 경로 옆에있는 폴더 아이콘을 클릭하고 적절한 위치로 변경하여이 문제를 해결할 수 있습니다.

어느 쪽이든 오류는 파일을 찾을 수 없음을 나타내며, 이전 빌드 시스템으로 전환하는 것은보다 구체적인 문제에 대한 반창고입니다. 개발자는 컴파일러가 파일 경로 끝에 아티팩트가 나열되기를 원한다는 것을 이해합니다. 어딘가에 경로가 올바르지 않습니다! 우리는 그것이 어디에 있는지 찾아야합니다!

내 문제는 위에 나열된 항목 4로 해결되었습니다. 이것이 누군가를 돕기를 바랍니다.


0

파일> 프로젝트 설정> 빌드 시스템을 레거시 빌드 시스템으로 변경


3
약간의 설명이 도움이 될 것입니다
vik_78

0

제 경우에는 앱에서 사용한 타사 xcodeproj 폴더를 실수로 삭제했습니다.


0

프로파일 링을 시도했지만 작동하지 않았고 이제 빌드 할 수없는 경우 프로젝트 아이콘을 통해 대상 창으로 이동하여 빌드 설정 탭으로 전환하고 PROFILE을 검색 한 다음 CLANG_USE_OPTIMIZATION_PROFILE을 "아니요"로 설정합니다.


0

제 경우에는 새 테스트 대상을 만들고 기본 swift 파일을 삭제했기 때문에 info.plist. 새 파일을 추가하면이 문제가 해결되었습니다.


0

제 경우에는 .app 바이너리 (Buck)를 ​​생성하는 빌드 스크립트가있었습니다. Buck 빌드 스크립트는 Swift Embed 빌드 단계와 병렬로 실행되었습니다. .app 바이너리가 아직 생성되지 않았기 때문에 Swift 단계가 실패합니다.

내 빌드 스크립트 "$BUILD_PRODUCTS_DIR/$EXECUTABLE_PATH"에서 "Output Files".

이것은 Xcode의 새 빌드 시스템에이 스크립트가 앱 바이너리를 출력하고 Xcode가이 아티팩트에 의존하는 모든 빌드 단계를 동기화하도록 할 것임을 알려줍니다.

여기에 이미지 설명 입력

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.