IT박스

Xcode 10.2에서“SWIFT_VERSION '3.0'이 지원되지 않고 지원되는 버전 : 4.0, 4.2, 5.0”오류를 수정하는 방법은 무엇입니까?

itboxs 2020. 10. 16. 07:16
반응형

Xcode 10.2에서“SWIFT_VERSION '3.0'이 지원되지 않고 지원되는 버전 : 4.0, 4.2, 5.0”오류를 수정하는 방법은 무엇입니까?


앱에서 다운로드를 실행하고 Xcode에서 열려고하면 오류가 발생합니다.

"최근 메시지 표시
: -1 : SWIFT_VERSION '3.0'은 지원되지 않습니다. 지원되는 버전은 4.0, 4.2, 5.0입니다. (대상 'SimpleWeather')"


프로젝트에서 대상 'SimpleWeather'를 선택하고 언어 버전을 변경합니다. Target-> build setting-> Swift 컴파일러 언어-> 5, 4.2 등을 선택합니다.

컴파일러 언어 변경을위한 빌드 설정 이미지


가장 쉬운 방법:

1. 왼쪽 열에서 POD를 클릭합니다.

2. 가운데 열에서 원하는 포드를 선택한 다음 오른쪽 상단 패널의 "빌드 설정"으로 이동합니다.

3. "Swift 언어 버전"을 검색하고 알려진 버전으로 변경합니다.

여기에 이미지 설명 입력 여기에 이미지 설명 입력


Xcode 10.1의 경우 Pods 파일을 선택하십시오.

여기에 이미지 설명 입력

-> 빌드 설정으로 이동-> 포드 선택-> "Swift"검색-> "Swift 언어 버전"으로 이동-> 원하는 언어 버전으로 설정.

여기에 이미지 설명 입력


이 페이지의 지침을 따랐지만 오류가 해결되지 않았습니다. 마지막으로

$ vim MyProject.xcodeproj/project.pbxproj

두 개의 인스턴스를 찾았습니다.

SWIFT_VERSION = 3.0;

여전히 참조 중입니다. 나는 그것들을 5.0으로 변경했고 오류가 사라졌습니다. 왜 그 두 사람이 아직 거기에 있었는지 모르겠습니다.


귀하의 경우 앱에 Swift 3.0과 같은 이전 Swift 버전 코드가있을 수 있습니다. Xcode 버전 10.2의 릴리스에서 Swift 5.0 버전이 출시되었습니다. Xcode 10.2는 Swift 3.0 버전 용 컴파일러를 지원하지 않습니다. 에서 컴파일러를 변경할 수 있습니다 Build Settings -> Swift Compiler - Language -> Swift Language Version -> Change it to Swift 5. 코드가 해당 언어 버전과 호환되면 오류없이 코드를 실행합니다.

그러나 Swift 3 호환 모드는 Swift 5 컴파일러에서 지원되지 않습니다. Swift 4.2는 Swift 3 모드를 지원하는 Swift의 마지막 릴리스입니다. Swift 3 이후 릴리스에서는 언어의 표면과 구현 내부 모두에 중요한 변경 사항이 있으며, 이는 향후 (그리고 지속적인) 소스 및 바이너리 안정성의 기반이 될 것입니다.

자세한 내용은 아래 링크를 참조하십시오. https://developer.apple.com/documentation/xcode_release_notes/xcode_10_2_release_notes/swift_5_release_notes_for_xcode_10_2

만약 당신이 정말로 이전 버전의 Xcode를 사용해야하는 것보다 더 오래된 Swift 버전 코드가있는 앱을 실행하고 싶다면. Xcode 버전 10.1을 사용할 수 있으며 Swift 3.0 버전을 지원하는 컴파일러입니다.

또 다른 방법은 이전 Swift 코드를 새 버전의 Swift 버전으로 마이그레이션하는 것입니다. Xcode 10.1 버전에서 Swift 3.0을 Swift 4.0으로 마이그레이션 할 수 있습니다.

마이그레이션 가이드는 https://swift.org/migration-guide-swift4/를 참조 하세요.


여기에 이미지 설명 입력이미지와 같이 포드를 선택하고 신속한 언어 버전을 변경 하면 하루를 절약 할 수 있습니다.

여기에 이미지 설명 입력


Cocoapod를 개발하는 동안이 문제를 발견했습니다. .swift-version내 저장소에 Swift 3.0을 지정한 오래된 파일이 있습니다.

러닝 pod lib lint --verbose을 통해 다음과 같은 유용한 응답을 받았습니다.

.swift-version현재 사용되지 않는 파일을 제거하고 swift_versionpodspec 내의 속성 만 사용하십시오 .

파일을 삭제하고 spec.swift_version = '5.0'podspec 파일에 추가 하여 문제를 해결했습니다.


1) podfile에서 pod의 버전을 변경합니다 (라이브러리가 이전 swift 버전을 작성했기 때문에)

2) 터미널에 "포드 설치"


  1. 이것 좀 봐:
    1. 프로젝트 이름을 클릭하십시오.
    2. 클릭 타겟
    3. 빌드 설정을 클릭하십시오.
    4. Swift 언어 버전에서 : Swift 4 선택

여기에 이미지 설명 입력

여기에 이미지 설명 입력

참고 URL : https://stackoverflow.com/questions/55366024/how-to-fix-swift-version-3-0-is-unsupported-supported-versions-are-4-0-4-2

반응형