ฉันพยายามเรียกใช้ที่ดาวน์โหลดจากแอพพยายามเปิดใน Xcode และมีข้อผิดพลาด:
"การแสดงข้อความล่าสุด
: -1: SWIFT_VERSION" 3.0 "ไม่รองรับเวอร์ชันที่รองรับคือ 4.0, 4.2, 5.0 (ในเป้าหมาย" SimpleWeather ")"
ฉันพยายามเรียกใช้ที่ดาวน์โหลดจากแอพพยายามเปิดใน Xcode และมีข้อผิดพลาด:
"การแสดงข้อความล่าสุด
: -1: SWIFT_VERSION" 3.0 "ไม่รองรับเวอร์ชันที่รองรับคือ 4.0, 4.2, 5.0 (ในเป้าหมาย" SimpleWeather ")"
คำตอบ:
เลือกเป้าหมาย 'SimpleWeather' ในโครงการและเปลี่ยนเวอร์ชันภาษาเป้าหมาย -> การตั้งค่าการสร้าง -> ภาษาคอมไพเลอร์ Swift -> เลือก 5, 4.2 ฯลฯ
******** วิธีที่ง่ายที่สุด: **********
1. คลิกที่ POD ในคอลัมน์ด้านซ้าย
2. ในคอลัมน์กลางให้เลือกพ็อดที่คุณต้องการจากนั้นไปที่ "การตั้งค่าการสร้าง" ที่แผงด้านขวาบน
3. จากนั้นค้นหา "Swift Language Version" และเปลี่ยนเป็นเวอร์ชันที่รู้จัก
สำหรับ Xcode 10.1 ให้เลือกไฟล์ Pods ของคุณ
-> ไปที่การตั้งค่าการสร้าง -> เลือก Pod ของคุณ -> ค้นหา "Swift" -> ไปที่ "เวอร์ชันภาษา Swift" -> ตั้งค่าเป็นเวอร์ชันภาษาที่ต้องการ
3.x
และคุณมี Xcode เวอร์ชันที่ใหญ่กว่า10.2
ฉันทำตามคำแนะนำในหน้านี้แล้ว แต่ข้อผิดพลาดไม่สามารถแก้ไขได้ สุดท้ายก็เข้าไป
$ vim MyProject.xcodeproj/project.pbxproj
และพบสองกรณีที่
SWIFT_VERSION = 3.0;
ยังคงถูกอ้างถึง ฉันเปลี่ยนเป็น 5.0 และข้อผิดพลาดก็หายไป ไม่แน่ใจว่าทำไมสองคนนั้นถึงยังอยู่ที่นั่น
ดูเหมือนว่าแอปอาจมีรหัส Swift เวอร์ชันเก่าเช่น Swift 3.0 ในกรณีของคุณ ในการเปิดตัว 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 ที่รองรับโหมด Swift 3 มีการเปลี่ยนแปลงที่สำคัญทั้งพื้นผิวของภาษาและการใช้งานภายในในรุ่นถัดจาก Swift 3 ซึ่งจะเป็นพื้นฐานของแหล่งที่มาในอนาคต (และยั่งยืน) และเสถียรภาพแบบไบนารี
อ้างอิงลิงค์ด้านล่างสำหรับรายละเอียดเพิ่มเติม https://developer.apple.com/documentation/xcode_release_notes/xcode_10_2_release_notes/swift_5_release_notes_for_xcode_10_2
หากคุณต้องการเรียกใช้แอปที่มีรหัสเวอร์ชัน Swift ที่เก่ากว่าคุณต้องใช้ Xcode เวอร์ชันเก่ากว่า คุณสามารถใช้ Xcode เวอร์ชัน 10.1 ซึ่งเป็นคอมไพเลอร์ที่รองรับเวอร์ชัน Swift 3.0
อีกวิธีหนึ่งคือการย้ายรหัส Swift เก่าของคุณไปยังเวอร์ชัน Swift เวอร์ชันใหม่ คุณสามารถย้ายข้อมูล Swift 3.0 ไปเป็น Swift 4.0 ในเวอร์ชัน Xcode 10.1 ได้
สำหรับคู่มือการย้ายข้อมูลโปรดดูที่ https://swift.org/migration-guide-swift4/
ฉันเจอปัญหานี้ในขณะที่พัฒนา Cocoapod ฉันมี.swift-version
ไฟล์เก่าใน repo ของฉันที่ระบุ Swift 3.0
การวิ่งpod lib lint --verbose
ทำให้ฉันได้รับคำตอบที่เป็นประโยชน์นี้:
โปรดลบ
.swift-version
ไฟล์ซึ่งตอนนี้เลิกใช้งานแล้วและใช้swift_version
แอตทริบิวต์ภายใน podspec ของคุณเท่านั้น
ฉันลบไฟล์และเพิ่มลงspec.swift_version = '5.0'
ในไฟล์ podspec เพื่อแก้ไขปัญหา
ฉันเปิดไฟล์MyProject.xcodeproj
(โดยใช้โปรแกรมแก้ไข VSCode)
และฉันพบบางบรรทัดที่
SWIFT_VERSION = 3.0;
(ประมาณบรรทัด 400 ที่ระบุไว้/* Begin XCBuildConfiguration section */
)
แก้ไขเป็น SWIFT_VERSION = 5.0 หรืออื่น ๆ หลังจากนั้นฉันก็สามารถสร้างและดำเนินโครงการได้
หากคุณมีไฟล์พ็อดหลายไฟล์เหมือนที่ฉันทำและคุณมีปัญหาในการค้นหาพ็อดด้วย SWIFT_Version = 3.0 ให้ลองใช้แถบค้นหา
1) เปลี่ยนเวอร์ชันของพ็อดใน podfile (เนื่องจากห้องสมุดเขียนเวอร์ชันเก่าที่รวดเร็ว)
2) "ติดตั้งพ็อด" บนเทอร์มินัล
ฉันยังใหม่กับการพัฒนา iOS หลังจากที่ฉันทำตามคำตอบข้างต้นทั้งหมดแล้วฉันก็ยังคงได้รับข้อผิดพลาดเดิม ฉันใช้ Xcode 11 และดาวน์โหลดตัวอย่าง " FoodTracker " จากเว็บไซต์Apple Developerและได้รับข้อผิดพลาดเดียวกันหลังจากพยายามสร้าง ฉันพบว่าโครงการมีการตั้งค่าหลายอย่างที่อ้างถึงเวอร์ชันภาษา Swift หลังจาก VIM เนื้อหาไฟล์โครงการ ดังนั้นฉันจึงแก้ไขปัญหานี้โดยตั้งค่า "Project> FoodTracker" ก่อนและ"เป้าหมาย> FoodTracker" และ "TARGETS> FoodTrackerTests"เวอร์ชันภาษา Swift เป็น 5.0 หวังว่าจะช่วยได้