Cách khắc phục lỗi “SWIFT_VERSION '3.0' không được hỗ trợ, các phiên bản được hỗ trợ là: lỗi 4.0, 4.2, 5.0” trong Xcode 10.2?


118

Tôi đang cố chạy ứng dụng đã tải xuống, cố mở bằng Xcode và gặp lỗi:

"Hiển thị Tin nhắn Gần đây
: -1: SWIFT_VERSION '3.0' không được hỗ trợ, các phiên bản được hỗ trợ là: 4.0, 4.2, 5.0. (Trong mục tiêu 'SimpleWeather')"

Đã thêm ảnh chụp màn hình


Cập nhật nội dung. 3,0 là khá cũ về Swift tốc độ tiến hóa
vadian

2
Tôi đang sử dụng Xcode 10.2 và thử mở phiên bản 3.0 cũ, nhưng không thể chạy chương trình vì tôi bị lỗi.
vlad uvarov

Mở và cập nhật dự án trong Xcode 10.1. Có thể có nhiều phiên bản Xcode khác nhau trên đĩa.
vadian

1
phiên bản cập nhật của Xcode; (
vlad uvarov

7
CHÚA ƠI!!! Tôi đã mất ba giờ để tải xuống XCode 10.2 chỉ để biết rằng tôi không thể tạo ứng dụng của mình nữa. Tôi không có bản sao lưu của XCode 10.1! Đây chỉ là sự điên rồ mà Apple nên trả tiền cho tôi.
vojta

Câu trả lời:


99

Chọn mục tiêu 'SimpleWeather' trong dự án và thay đổi phiên bản ngôn ngữ Target-> cài đặt xây dựng -> Ngôn ngữ trình biên dịch Swift -> chọn 5, 4.2, v.v.

hình ảnh của cài đặt xây dựng để thay đổi ngôn ngữ trình biên dịch


76

******** Cách dễ nhất: **********

1. nhấp chuột vào POD ở cột bên trái.

2. Trong cột trung tâm, chọn nhóm bạn muốn, sau đó điều hướng đến "cài đặt xây dựng" ở bảng trên cùng bên phải.

3. sau đó tìm kiếm "Swift Language Version" và thay đổi thành một phiên bản đã biết.

nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây


1
Cảm ơn. Đây là câu trả lời tôi đang tìm kiếm.
Vinu Jacob

Ảnh chụp màn hình giúp ích cho việc tìm kiếm.
Namo

53

Đối với Xcode 10.1, hãy chọn Tệp Pods của bạn

nhập mô tả hình ảnh ở đây

-> Vào Cài đặt bản dựng -> Chọn Pod của bạn -> Tìm kiếm "Swift" -> Điều hướng đến "Phiên bản ngôn ngữ Swift" -> Đặt thành phiên bản ngôn ngữ mong muốn.

nhập mô tả hình ảnh ở đây


9
Giải pháp này không làm việc nếu phiên bản Swift là 3.xvà bạn có một phiên bản Xcode lớn hơn10.2
Juan P. Ortiz

12

Tôi đã làm theo hướng dẫn trên trang này và lỗi không giải quyết được. Cuối cùng, đã đi vào

$ vim MyProject.xcodeproj/project.pbxproj

và tìm thấy hai trường hợp trong đó

SWIFT_VERSION = 3.0;

vẫn đang được tham chiếu. Tôi đã thay đổi chúng thành 5.0 và lỗi đã biến mất. Không chắc tại sao hai người đó vẫn còn ở đó.


1
Tôi đã sử dụng hướng dẫn của Apple để chuyển từ Swift 3.0 sang 5.0, tuy nhiên trợ lý không hiển thị bất kỳ đề xuất nào. Ngay sau khi tôi sửa đổi hai dòng này trong câu trả lời ở trên, nó đã nhắc tôi di chuyển ngay lập tức. Cảm ơn bạn đã chia sẻ giải pháp này @Forrest !
Kareem Jeiroudi

Tuyệt vời! Vui mừng nó giúp bạn @KareemJeiroudi
Forrest

2
Cảm ơn, nó đã giúp tôi rất nhiều. Tôi đã googling nửa giờ và tìm ra giải pháp này ...
Dharmik

2
Cái này cũng có tác dụng với tôi. Đang thực hiện một lớp trên đó và dự án ví dụ không đúng phiên bản.
sixstring,

11
  1. Chọn dự án
  2. Chọn Build SettingTab
  3. Chọn Tùy chọn ngôn ngữ trình biên dịch Swift

nhập mô tả hình ảnh ở đây


10

nhập mô tả hình ảnh ở đâychọn nhóm như trên mỗi hình ảnh và thay đổi phiên bản ngôn ngữ nhanh chóng, điều này có thể giúp bạn tiết kiệm một ngày

nhập mô tả hình ảnh ở đây


7

Có vẻ như ứng dụng có thể có mã phiên bản Swift cũ như Swift 3.0 trong trường hợp của bạn. Trong phiên bản Xcode phát hành 10.2 đã đưa ra phiên bản Swift 5.0. Xcode 10.2 không hỗ trợ trình biên dịch cho phiên bản Swift 3.0. Bạn có thể thay đổi trình biên dịch từ Build Settings -> Swift Compiler - Language -> Swift Language Version -> Change it to Swift 5. Nếu mã của bạn tương thích với phiên bản ngôn ngữ đó thì nó sẽ chạy mã mà không bị lỗi.

Tuy nhiên, chế độ tương thích Swift 3 sẽ không được hỗ trợ trong trình biên dịch Swift 5. Swift 4.2 là bản phát hành cuối cùng của Swift hỗ trợ chế độ Swift 3. Có những thay đổi quan trọng đối với cả bề mặt của ngôn ngữ và nội dung của việc triển khai nó trong các bản phát hành sau Swift 3, sẽ là cơ sở của sự ổn định nguồn và nhị phân trong tương lai (và lâu dài).

Tham khảo liên kết dưới đây để biết thêm chi tiết. https://developer.apple.com/documentation/xcode_release_notes/xcode_10_2_release_notes/swift_5_release_notes_for_xcode_10_2

Nếu bạn thực sự muốn chạy ứng dụng có mã phiên bản Swift cũ hơn, bạn phải sử dụng phiên bản Xcode cũ hơn. Bạn có thể sử dụng Xcode phiên bản 10.1, trình biên dịch của nó hỗ trợ phiên bản Swift 3.0.

Một cách thay thế khác là di chuyển mã Swift cũ của bạn sang phiên bản Swift mới. Bạn có thể chuyển Swift 3.0 sang Swift 4.0 trong phiên bản Xcode 10.1.

Để biết hướng dẫn di chuyển, hãy tham khảo https://swift.org/migration-guide-swift4/ này


5

Tôi đã gặp vấn đề này khi phát triển Cocoapod. Tôi có một .swift-versiontệp cũ trong repo của mình chỉ định Swift 3.0.

Running pod lib lint --verboseđã dẫn tôi đến câu trả lời hữu ích này:

Vui lòng xóa .swift-versiontệp hiện không được dùng nữa và chỉ sử dụng swift_versionthuộc tính trong podspec của bạn.

Tôi đã xóa tệp và thêm vào spec.swift_version = '5.0'tệp podspec của mình để khắc phục sự cố.


4
  1. Kiểm tra cái này:
    1. Nhấp vào tên dự án
    2. Mục tiêu nhấp chuột
    3. Nhấp vào Cài đặt bản dựng
    4. Tại phiên bản ngôn ngữ Swift: Chọn Swift 4

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây


4

Tôi đã mở tệp MyProject.xcodeproj (sử dụng trình chỉnh sửa VSCode)

và tôi tìm thấy một số dòng ở đó

SWIFT_VERSION = 3.0;

(ở khoảng dòng 400 nơi nó nói /* Begin XCBuildConfiguration section */)

Sửa đổi thành SWIFT_VERSION = 5.0 hoặc những thứ khác. Sau đó, tôi đã có thể xây dựng và chạy dự án.


3

Tìm kiếm Swift và nhấp đúp, sau đó thay đổi từng phiên bản vi phạm.

nhập mô tả hình ảnh ở đây


1

Nếu bạn có nhiều tệp nhóm như tôi đã làm và bạn gặp khó khăn khi tìm nhóm với SWIFT_Version = 3.0, hãy thử thanh tìm kiếm


0

1) thay đổi phiên bản của pod trên podfile (vì thư viện đã viết phiên bản nhanh cũ)

2) "cài đặt pod" trên thiết bị đầu cuối


0

Tôi là người mới phát triển iOS. Sau khi tôi làm theo tất cả các câu trả lời trên, tôi vẫn gặp lỗi tương tự. Tôi đang sử dụng Xcode 11 và tôi đã tải xuống mẫu " FoodTracker " từ trang web Nhà phát triển của Apple và tôi gặp lỗi tương tự sau khi cố gắng tạo nó. Tôi thấy rằng dự án có một số cài đặt đề cập đến phiên bản ngôn ngữ Swift sau khi VIM nội dung tệp dự án. Vì vậy, tôi đã giải quyết vấn đề này trước tiên bằng cách đặt "Project> FoodTracker", và "TARGETS> FoodTracker" và "TARGETS> FoodTrackerTests" Phiên bản ngôn ngữ Swift thành 5.0. Hy vọng nó giúp.

Đặt phiên bản ngôn ngữ Swift trên Dự án và TẤT CẢ Mục tiêu


-1
  1. mở MyProject.xcodeproj / project.pbxproj trong trình chỉnh sửa (eq Sublime)

ví dụ Calculator.xcodeproj

  1. Đổi tên tất cả SWIFT_VERSION = 3.0; Đổi tên tất cả SWIFT_VERSION = 5.0;

nhập mô tả hình ảnh ở đây

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.