Namun saya telah mengkompilasi ulang kerangka kerja menggunakan Xcode yang sama dan masih memberi saya kesalahan ini.
- SDK dasar iOS 11.1 untuk keduanya
- Versi Bahasa Swift Swift 4.0 untuk keduanya
- Tidak menggunakan Pod / Carthage
Saya berharap seseorang mungkin tahu
Jawaban:
Memperbarui:
Untuk versi rilis Xcode:
Kesalahan ini (dan kesalahan serupa yang melibatkan Swift 4.1, 4.2, dll.) Akan terjadi saat membuka proyek dengan Xcode 9.1, 9.2, 9.3, 9.4, 10, dll. Yang menggunakan kerangka kerja yang dibuat dengan alat Xcode sebelumnya.
Untuk memperbaiki masalah ini, perbarui dan buat kembali kerangka kerja Anda menggunakan Carthage (
carthage update --platform iOS
), Cocoapods (pod update
ataupod install
), atau secara manual, dengan alat Xcode baru yang diperbarui. Alat harus diperbarui secara otomatis saat Anda memperbarui Xcode, tetapi jika tidak, Anda dapat mengikuti langkah-langkah yang diuraikan di bawah ini dalam jawaban asli.Anda mungkin juga perlu membersihkan proyek Anda
cmd + shift + k
dan mungkin folder build Andacmd + option + shift + k
untuk mendapatkan Xcode agar tidak menggunakan build kerangka yang di-cache.Dalam beberapa kasus, Anda mungkin juga perlu menghapus folder data turunan (Mudah ditemukan dengan membuka Preferensi Xcode -> Lokasi -> Folder Data Berasal ( Terima kasih cantik )
Untuk versi beta Xcode:
Lihat jawaban asli di bawah dan kemudian ikuti langkah-langkah di atas.
Jawaban Asli:
Anda mungkin masih menyetel alat xcodebuild ke Xcode 9.0 yang dibuat dengan Swift 4.0 dan tidak kompatibel dengan Swift 4.0.1 Xcode 9.1 beta.
Periksa di terminal menggunakan perintah:
Atau cukup masuk ke preferensi Xcode -> Lokasi dan periksa / ubah alat baris perintah ke Xcode 9.1. Anda harus siap.
sumber
Swift Language Version
keSwift 4
untuk itu. Kemudian berhasil.Masalah saya adalah karena kerangka kerja eksternal tidak dikompilasi untuk Swift 4.0.2. Saya telah menambahkan file ini melalui Carthage , jadi menjalankan:
Dan kemudian membersihkan proyek
cmd + shift + k
dan membangun foldercmd + option + shift + k
dan menghapus folder data turunan (hanya memindahkannya ke tempat sampah juga) bekerja untuk saya.sumber
Dalam kasus saya, saya mengunduh xCode 11 versi Beta untuk menguji SwiftUI. Ketika saya menjalankan proyek saya, saya mendapat kesalahan "Modul yang dikompilasi dengan Swift 5.1 tidak dapat diimpor oleh kompiler Swift 5.0.1: ..." .
Untuk memperbaiki masalah ini. saya mengubah alat baris perintah xCode menjadi alat baris komentar xCode 11 baru. Setelah itu, Anda dapat membuat proyek xcode baru dengan SwiftUI.
Xcode -> Preferensi -> Lokasi -> Alat Baris perintah XCode
Saya harap, ini akan membantu seseorang yang ingin menguji dengan freamework baru :)
sumber
Instal Xcode Toolchain dari versi Xcode tertentu yang berfungsi untuk Anda dari sini .
Toolchain Xcode menyertakan salinan compiler, lldb, dan alat terkait lainnya yang diperlukan untuk memberikan pengalaman pengembangan yang kohesif untuk bekerja dalam versi tertentu dari Swift.
Buka Preferensi Xcode, buka Komponen> Toolchains, dan pilih toolchain Swift yang diinstal.
Ini akan memungkinkan Anda mengkompilasi dan menjalankan aplikasi untuk saat ini.
sumber
Saya mengalami masalah ini dengan Xcode 10 beta, yang menambahkan Swift 4.2. Masalah saya tidak terkait dengan Kartago atau ketergantungan eksternal apa pun.
Pergi ke
YourTarget > Build Settings > Swift Language Version
untuk semua target Xcode Anda.Punyaku sudah siap
Swift 4
.Setelah menambahkan Fase Pembuatan File Salin, saya mulai mendapatkan kesalahan
Saya kemudian menetapkan setiap target
Swift Language Version
keSwift 4.2
, yang menghilangkan kesalahan.Saya tidak yakin mengapa kesalahan itu terjadi di tempat pertama, karena memiliki semua target yang disetel
Swift 4
harus sama validnya.sumber
Build Settings
Dalam kasus saya (Xcode 9.2):
Saya pergi ke Xcode
Preferences > Locations > Derived Data
Saya kemudian menghapus data dan melakukan pembangunan bersih dan baik-baik saja.
sumber
Dalam kasus saya, saya menggunakan CocoaPods dengan plugin
cocoapods-binary
untuk membuat pustaka menjadi binari. Setelah saya memutakhirkan Xcode dari 10 menjadi 11, Xcode memberi saya kesalahan ini:Module compiled with Swift 5.0.1 cannot be imported by the Swift 5.1 compiler
Saya memperbaikinya dengan menghapus
/Pods
direktori dan menjalankanpod install
.sumber
Dalam kasus saya, saya mengkompilasi ulang kerangka kerja dengan versi apa pun yang dikeluhkannya.
Untuk mengkompilasi ulang, jalankan
pod update
atau perbarui carthage (mana pun yang Anda gunakan), dan buat proyek.Kemudian cari kerangka di finder. Salin-tempel
theFramework.framework
ke proyek Anda dan pastikan untuk "Salin item jika diperlukan". Bangun proyek lagi dan itu akan bekerja.sumber