source

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

manysource 2023. 5. 10. 22:06

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

Xcode 8의 Convert Wizard를 사용하려고 하면 오류 메시지가 나타납니다.재부팅, 새 코드 다운로드 및 DerivedData 파일 삭제를 시도한 후에는 다음 오류를 피할 수 없습니다.

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

스위프트 2.3과 스위프트 3 두 가지 옵션을 모두 사용해 보았습니다.버전을 선택하면 즉시 오류가 발생합니다.

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

Xcode 8 변환 오류 메시지

이것은 저에게 효과가 있었습니다.

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

Xcode 8 베타를 설치한 후 문제가 발생하여 관련이 있는 것 같습니다.

@karthikkk에 대한 그림 크레딧.

Iluvcapra의 매우 유용한 답변에 언급된 "호스트 애플리케이션" 풀다운을 찾는 데 약간의 시간이 걸렸습니다.

그래서 이것이 그가 의미한 것입니다.

여기서 풀다운 메뉴를 찾을 수 있습니다.기본 대상을 선택합니다.

여기서 풀다운 메뉴를 찾을 수 있습니다.

이 문제에 대한 쉬운 해결책을 찾겠습니다. 계획을 편집하고 테스트를 비활성화하십시오.

여기에 이미지 설명 입력

변환을 다시 실행합니다.

+1 일루브카프라

또는 텍스트 편집기를 사용하여 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;
    };

여기에 이미지 설명 입력

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

  1. Xcode 왼쪽에서 프로젝트를 선택합니다.
  2. 대상으로 이동하여 프로젝트 테스트를 선택합니다.
  3. 일반 탭을 선택하고 호스트 애플리케이션 드롭다운을 선택한 후 호스트 애플리케이션을 선택합니다.
  4. 프로젝트를 변환하거나 실행합니다.

이 단계들을 시도해 본 것이 저에게 효과가 있었습니다.

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

어떤 이유에서인지 컴파일 오류가 발생하여 테스트 대상에 대한 "구성별 중간 빌드 파일 경로:"를 디버그 및 릴리스 모두에 대해 $(PROJECT_TEMP_DIR)/$(CONFIGATION)로 변경했습니다.이를 통해 컴파일이 작동할 수 있습니다.

3단계로 이 문제를 해결합니다.

  1. 먼저 테스트 대상 삭제
  2. 편집 -> 변환 -> 현재 Swift 구문으로 선택...변환을 수행합니다.
  3. 그런 다음 새 테스트 대상을 추가합니다.

언급URL : https://stackoverflow.com/questions/37847807/xcode-8-beta-convert-to-current-swift-syntax-failed-could-not-find-test-host