programing

Xcode 10.2에서 "SWIFT_VERSION '3.0'이 지원되지 않습니다. 지원되는 버전은 4.0, 4.2, 5.0" 오류를 해결하는 방법은 무엇입니까?

kakaobank 2023. 5. 12. 22:36
반응형

Xcode 10.2에서 "SWIFT_VERSION '3.0'이 지원되지 않습니다. 지원되는 버전은 4.0, 4.2, 5.0" 오류를 해결하는 방법은 무엇입니까?

앱에서 다운로드한 파일을 실행하려고 하는데 Xcode에서 열려고 하면 오류가 발생합니다.


. 입니다. ('SimpleWather에서)":- SWIFT_VERSION '3.0'입니다. 지원되는 버전은 4.0, 4.2, 5.0입니다. (대상 'SimpleWather'에서)"

스크린샷 추가

프로젝트에서 대상 'SimpleWather'를 선택하고 언어 버전을 변경합니다. 대상 -> 빌드 설정 -> 스위프트 컴파일러 언어 -> 5, 4.2 등

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

가장 쉬운 방법: *********

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

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

3. 그런 다음 "빠른 언어 버전"을 검색하고 알려진 버전으로 변경합니다.

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

Xcode 10.1의 경우 포드 파일을 선택합니다.

여기에 이미지 설명 입력

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

여기에 이미지 설명 입력

저는 이 페이지의 지침을 따랐지만 오류가 해결되지 않았습니다.마침내 ,안으로 들어갔습니다.

$ vim MyProject.xcodeproj/project.pbxproj

그리고 두 가지 사례를 발견했습니다.

SWIFT_VERSION = 3.0;

여전히 참조되고 있습니다.5.0으로 변경했더니 오류가 사라졌습니다.왜 그 둘이 아직 거기 있었는지 모르겠어요.

  1. 프로젝트선택
  2. 빌드 설정 탭 선택
  3. Swift 컴파일러 언어 옵션 선택

여기에 이미지 설명 입력

이미지에 따라 포드를 선택하고 빠른 언어 버전을 변경하면 언젠가 당신을 구할여기에 이미지 설명 입력있습니다.

여기에 이미지 설명 입력

Swift를 검색하고 두 번 클릭한 다음 문제가 되는 각 버전을 변경합니다.

여기에 이미지 설명 입력

당신의 경우 앱에 Swift 3.0과 같은 오래된 Swift 버전 코드가 있을 수 있습니다.Xcode 전버 10.2. Swift 5.0 버전. 10 3.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

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

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

마이그레이션 가이드는 이 https://swift.org/migration-guide-swift4/ 을 참조하십시오.

  1. 다음을 확인하십시오.
    1. 프로젝트 이름 클릭
    2. 대상 클릭
    3. 빌드 설정 클릭
    4. 빠른 언어 버전에서:Swift 4를 선택합니다.

여기에 이미지 설명 입력

여기에 이미지 설명 입력

나는 그 파일을 열었습니다.MyProject.xcodeproj 편집기 사용VSode 편집기)

그리고 나는 몇 개의 선들을 발견했습니다.

SWIFT_VERSION = 3.0;

(에 (400행 정도)라고 있습니다/* Begin XCBuildConfiguration section */)

SWIFT_VERSION = 5.0 또는 기타로 수정합니다.그 후 저는 프로젝트를 구축하고 실행할 수 있었습니다.

저는 코코팟을 개발하던 중에 이 문제를 발견했습니다.나는 오래된.swift-version 3한 my 합니다.

중입니다.pod lib lint --verbose다음과 같은 유용한 답변으로 이끌었습니다.

해 주세요..swift-version는 더 이상 되지 않고 현는더사않지고파오일사는용되직만 swift_version속성을 입력할 수 있습니다.

하고 파을삭일추가습니다했고제하다니▁i▁deleted▁and를 추가했습니다.spec.swift_version = '5.0'문제를 해결하기 위해 podspec 파일로 이동합니다.

저처럼 여러 개의 포드 파일을 사용했는데 SWIFT_Version = 3.0으로 포드를 찾는 데 문제가 있다면 검색 표시줄을 사용해 보십시오.

아주 간단합니다.이 문제를 해결하려면 다음 2단계를 수행하십시오.

1단계:

  • 빌드 실패 문제를 해결합니다.
  • 비밀 스위프트 3.0에서 스위프트 4.0으로

2단계:

  • 다른 모든 경고 해결
  • 그다음에 Cubtret Swift 4.0에서 Swift 5.0으로.

여기에 이미지 설명 입력

podfile에서 pod의 버전 변경(라이브러리가 이전 swift 버전을 썼기 때문)

터미널의 "pod 설치"

저는 iOS 개발이 처음입니다.위의 답변을 모두 따르면 여전히 동일한 오류가 발생합니다.Xcode 11을 사용하다가 Apple Developer 웹사이트에서 "Food Tracker" 샘플을 다운받았는데 빌드를 시도한 결과 동일한 오류가 발생했습니다.프로젝트 파일 내용에 VIM 이후 Swift 언어 버전을 참조하는 설정이 프로젝트에 여러 개 있는 것으로 확인되었습니다.그래서 저는 먼저 "Project > Food Tracker"와 "TARGETS > Food Tracker""TARGETS > Food Tracker Tests"를 5.0으로 설정하여 이 문제를 해결했습니다.도움이 되길 바랍니다.

프로젝트 및 모든 대상에서 빠른 언어 버전 설정

  1. 내 프로젝트를 엽니다.편집기의 xcodeproj/project.pbxproj(예: Sublime)

예제 Calculator.xcodeproj

  1. 모든 SWIFT_VERSION = 3.0 이름 바꾸기, 모든 SWIFT_VERSION = 5.0;

여기에 이미지 설명 입력

포드 버전이 스위프트 버전과 호환되는지 확인하십시오.잘못된 버전의 포드(swift 2.3)를 설치했을 때 이 문제가 발생했지만 swift 4를 사용하고 있었습니다.

우리는 Cocoapods를 설치하는 설치 후 후크를 사용하여 이를 자동화할 수 있습니다.

에 추가합니다.Podfile:

    ..
    pod 'Alamofire' # Just an example for the last pod in list.
    post_install do |installer|
        installer.pods_project.targets.each do |target|
            target.build_configurations.each do |config|
                config.build_settings['SWIFT_VERSION'] = '5.0'
            end
        end
    end
end

이 갈고리는 당신이 많이 가지고 있다면 도움이 됩니다.Pods각 포드의 빌드 설정을 수동으로 변경할 필요가 없기 때문에 종속성으로 간주됩니다.그러나 일부 포드가 아직 Swift 5를 지원하지 않는 경우 이전 답변에서 설명한 대로 수동으로 4.0 또는 4.2로 변경해야 합니다.

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

반응형