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


118

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

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

스크린 샷 추가


물건을 업데이트하십시오. 3.0은 Swift 진화 속도 측면에서 꽤 오래되었습니다
vadian

2
나는 Xcode 10.2를 사용하고 이전 3.0을 열어 보았지만 프로그램을 실행할 수 없습니다. 오류가 있습니다.
vlad uvarov

Xcode 10.1에서 프로젝트를 열고 업데이트합니다. 디스크에 여러 버전의 Xcode가있을 수 있습니다.
vadian

1
엑스 코드의 업데이트 된 버전 (
블라드의 uvarov

7
세상에! XCode 10.2를 다운로드하는 데 3 시간이 걸렸지 만 더 이상 내 앱을 빌드 할 수 없다는 사실을 알게되었습니다. XCode 10.1의 백업이 없습니다! 이것은 애플이 내게 지불해야하는 광기 일 뿐이다.
vojta

답변:


99

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

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


76

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

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

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

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

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


1
고마워. 이것이 제가 찾고있는 답입니다.
Vinu Jacob

스크린 샷은 찾는 데 도움이됩니다.
Namo

53

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

여기에 이미지 설명 입력

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

여기에 이미지 설명 입력


9
스위프트 버전 인 경우이 솔루션은하지 작업을 수행 3.x하면보다 더 큰의 엑스 코드 버전이10.2
후안 P. 오티즈

12

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

$ vim MyProject.xcodeproj/project.pbxproj

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

SWIFT_VERSION = 3.0;

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


1
나는 Swift 3.0에서 5.0으로 마이그레이션하기 위해 Apple의 가이드 를 사용 했지만 어시스턴트는 어떤 제안도 보여주지 않았습니다. 위의 답변에서이 두 줄을 수정하자마자 즉시 마이그레이션하라는 메시지가 표시되었습니다. 이 솔루션 @Forrest 를 공유해 주셔서 감사합니다 !
카림 Jeiroudi

대박! 당신이 @KareemJeiroudi 도움 다행
포레스트

2
감사합니다. 많은 도움이되었습니다. 나는 ... 반 시간을 인터넷 검색을하고이 솔루션을 발견했다
Dharmik

2
이것은 나에게도 효과적이었습니다. 그것에 대한 수업을하고 예제 프로젝트가 잘못된 버전에 있습니다.
sixstring


10

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

여기에 이미지 설명 입력


7

귀하의 경우 앱에 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/를 참조 하세요.


5

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

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

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

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


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

여기에 이미지 설명 입력

여기에 이미지 설명 입력


4

파일을 열었습니다 MyProject.xcodeproj (VSCode 편집기 사용).

몇 줄을 찾았어요

SWIFT_VERSION = 3.0;

(약 400 줄에서 /* Begin XCBuildConfiguration section */)

SWIFT_VERSION = 5.0 또는 기타로 수정하십시오. 그 후 프로젝트를 빌드하고 실행할 수있었습니다.


3

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

여기에 이미지 설명 입력


1

내가했던 것처럼 여러 개의 포드 파일이 있고 SWIFT_Version = 3.0으로 포드를 찾는 데 문제가있는 경우 검색 창을 사용해보세요.


0

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

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


0

iOS 개발이 처음입니다. 위의 모든 답변을 따랐지만 여전히 동일한 오류가 발생했습니다. Xcode 11을 사용하고 있었고 Apple Developer 웹 사이트 에서 " FoodTracker "샘플을 다운로드 했는데 빌드를 시도한 후에도 동일한 오류가 발생했습니다. 프로젝트에 프로젝트 파일 콘텐츠 VIM 이후 Swift 언어 버전을 참조하는 여러 설정이 있음을 발견했습니다. 그래서 먼저 "Project> FoodTracker"를 설정 하고 Swift 언어 버전을 "TARGETS> FoodTracker"및 "TARGETS> FoodTrackerTests"로 설정하여이 문제를 해결했습니다 . 도움이 되었기를 바랍니다.

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


-1
  1. 편집기에서 MyProject.xcodeproj / project.pbxproj를 엽니 다 (eq Sublime).

예제 Calculator.xcodeproj

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

여기에 이미지 설명 입력

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