Xcode 8 베타-현재 Swift 구문으로 변환 실패 : 테스트 호스트를 찾을 수 없음


115

Xcode 8의 변환 마법사를 사용하려고하면 오류 메시지가 나타납니다. 재부팅을 시도하고 새 코드를 다운로드하고 DerivedData 파일을 삭제 한 후이 오류를 피할 수 없습니다.

현재 Swift 구문으로 변환 실패 : 테스트 호스트를 찾을 수 없음

Swift 2.3과 Swift 3의 두 가지 옵션을 모두 시도했습니다. 버전을 선택하면 즉시 오류가 발생합니다.

다음은 오류의 스크린 샷입니다.

Xcode 8 변환 오류 메시지


여기에도 같은 문제가 있습니다. 더 작은 또 다른 프로젝트는 잘 변환됩니다.
Gondomir 2016-06-16

원인이 무엇인지 잘 모르겠습니다. 변환 할 모듈을 선택할 수 있습니다. 모든 모듈에서 동일한 오류가 발생합니다.
thejuki

"테스트 호스트"는 무엇입니까? DerivedData 폴더 삭제 후 존재하지 않는 DerivedData / ding / Build / Products / Debug-iphoneos / ding.app / ding 파일을 보여줍니다.
Gondomir

빌드 설정에서 Swift 언어 버전을 확인할 수도 있습니다. 그것의 더 낮은 버전을 사용해보십시오.
iPhoneDeveloper 2017

답변:


306

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

  1. 왼쪽 브라우저에서 Xcode 프로젝트를 선택하십시오.
  2. 프로젝트 General탭 에서 테스트 대상을 클릭 하십시오.
  3. "테스트"를 공개합니다. 내 프로젝트에서 "호스트 애플리케이션"풀다운 버튼이 비어있었습니다. 적절한 호스트 애플리케이션을 선택하십시오.
  4. 지금 테스트 대상을 구축해보십시오. 성공하면 구문을 변환해야합니다.

Xcode 8 베타를 설치 한 후이 문제가 발생했기 때문에 관련이 있다고 가정합니다.

@karthikkck의 사진 크레딧 여기에 이미지 설명 입력


5
그것은 나를 위해 일했습니다. 감사! 설명 : 일반 탭 제목 왼쪽에있는 선택기에서 테스트 대상을 클릭하고 선택합니다.
thejuki

5
고마워, 나도 위해 일했다. 여기에서 다른 사람들에게도 도움이 될 수있는 미친 세부 사항에 주목하십시오. "호스트 응용 프로그램"필드에는 이미 올바른 값이 채워져 있지만 원래 값으로 토글하면 제대로 작동합니다.
mz2

5
내 호스트 응용 프로그램의 가치가 "사용자 지정"으로 설정되었습니다. 사용 가능한 유일한 옵션으로 변경하면 문제가 해결되었습니다. 감사!
Mark McCorkle 2016 년

1
3 단계에서 언급 한 것을 어디에서 찾을 수 있습니까? @Bharathi
JayVDiyk

2
일반 탭에 테스트 섹션이 없습니까 ??
Deuce bigalow 2016 년

62

iluvcapra의 매우 유용한 답변에서 언급 된 "호스트 응용 프로그램"풀다운 을 찾는 데 약간의 시간이 소요되었습니다 .

그래서 이것이 그가 의미하는 바입니다.

여기에서 풀다운 메뉴를 찾을 수 있습니다. 주요 목표를 선택하십시오.

풀다운 메뉴가있는 곳입니다.


22

나는 이것에 대한 쉬운 수정을 찾았습니다. Scheme을 편집하고 테스트를 비활성화하십시오.

여기에 이미지 설명 입력

그리고 변환을 다시 실행하십시오.


1
감사! 이것은 나를 위해 일했지만 수락 된 대답은 그렇지 않았습니다.
daver

이. 이미 "호스트 응용 프로그램"을 올바르게 설정했지만 작동하지 않았습니다. 또한 테스트를 실행할 수 없습니다 (동일한 오류 메시지가 표시됨 ...). 이 프로젝트는 적극적으로 현재 단위 테스트를 사용하지 않는,하지만 ... 어떤 시점에서 조사 할 것이다
니콜라스 미아리

5

+1 iluvcapra

또는 텍스트 편집기를 사용하여 MyAppSwift.xcodeproj / project.pbxproj 파일 에서 다음 두 항목을 제거하고 TEST_HOST를 검색합니다 .

이제 프로젝트를 다시 열고 변환 마법사를 다시 실행하십시오.

    4EFFFAE51B53D5D8003CD25A /* Debug */ = {
        isa = XCBuildConfiguration;
        buildSettings = {
            BUNDLE_LOADER = "$(TEST_HOST)";
            FRAMEWORK_SEARCH_PATHS = (
                "$(SDKROOT)/Developer/Library/Frameworks",
                "$(inherited)",
            );
            GCC_PREPROCESSOR_DEFINITIONS = (
                "DEBUG=1",
                "$(inherited)",
            );
            INFOPLIST_FILE = "AF SwiftTests/Info.plist";
            LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
            PRODUCT_NAME = "FA SwiftTests";
            TEST_HOST = "$(BUILT_PRODUCTS_DIR)/AF Swift.app/AF Swift";
        };
        name = Debug;
    };
    4EFFFAE61B53D5D8003CD25A /* Release */ = {
        isa = XCBuildConfiguration;
        buildSettings = {
            BUNDLE_LOADER = "$(TEST_HOST)";
            FRAMEWORK_SEARCH_PATHS = (
                "$(SDKROOT)/Developer/Library/Frameworks",
                "$(inherited)",
            );
            INFOPLIST_FILE = "AF SwiftTests/Info.plist";
            LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
            PRODUCT_NAME = "FA SwiftTests";
            TEST_HOST = "$(BUILT_PRODUCTS_DIR)/AF Swift.app/AF Swift";
        };
        name = Release;
    };

5

여기에 이미지 설명 입력

다음 단계를 시도하십시오.

  1. Xcode의 왼쪽에서 프로젝트를 선택하십시오.
  2. 대상으로 이동하여 프로젝트 테스트를 선택하십시오.
  3. 일반 탭을 선택하고 호스트 응용 프로그램 드롭 다운을 선택하고 호스트 응용 프로그램을 선택합니다.
  4. 프로젝트를 변환하거나 실행하십시오.

이 단계를 시도하는 것이 저에게 효과적이었습니다.


0

제 경우에는 테스트 대상을 삭제 한 다음 + 아래 대상을 사용하여 다시 추가하고 "iOs Unit Testing Bundle"을 선택했습니다.

어떤 이유로 컴파일 오류가 발생하여 "Per-configuration Intermediate Build Files Path : for my test target to $ (PROJECT_TEMP_DIR) / $ (CONFIGURATION) for both debug and release. 이렇게하면 컴파일이 작동 할 수있었습니다.


-1

3 단계로이 문제를 해결하십시오.

  1. 먼저 테스트 대상 삭제
  2. 편집-> 변환-> 현재 Swift 구문으로 ...를 선택하고 변환을 수행하십시오.
  3. 그런 다음 새 테스트 대상을 추가하십시오.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.