Ancak aynı Xcode'u kullanarak çerçeveyi yeniden derledim ve hala bana bu hatayı veriyor.
- Her ikisi için Temel SDK iOS 11.1
- Swift Dil Sürümü Swift 4.0 her ikisi için
- Bakla / Kartaca kullanmama
Umarım birisi bilebilir
Ancak aynı Xcode'u kullanarak çerçeveyi yeniden derledim ve hala bana bu hatayı veriyor.
Umarım birisi bilebilir
Yanıtlar:
Güncelleme:
Xcode'un yayın sürümleri için:
Bu hata (ve Swift 4.1, 4.2 vb. İçeren benzer hatalar), daha önceki Xcode araçlarıyla oluşturulmuş çerçeveleri kullanan Xcode 9.1, 9.2, 9.3, 9.4, 10 vb. İle bir proje açılırken ortaya çıkacaktır.
Sorunu düzeltmek için çerçevelerinizi Carthage ( carthage update --platform iOS
), Cocoapods ( pod update
veya pod install
) kullanarak veya yeni güncellenmiş Xcode araçlarıyla manuel olarak güncelleyin ve yeniden oluşturun . Xcode'u güncellediğinizde araçlar otomatik olarak güncellenmelidir, ancak değilse, orijinal cevapta aşağıda belirtilen adımları takip edebilirsiniz.
Ayrıca, Xcode'un önbelleğe alınmış çerçeve yapılarını kullanmaması için projenizi cmd + shift + k
ve muhtemelen yapı klasörünüzü temizlemeniz gerekebilir cmd + option + shift + k
.
Bazı durumlarda, türetilmiş veri klasörünüzü de silmeniz gerekebilir (Xcode Tercihleri -> Konumlar -> Türetilmiş Veri Klasörü'ne giderek kolayca bulunur ( Teşekkürler Stunner )
Xcode'un beta sürümleri için:
Aşağıdaki orijinal cevaba bakın ve ardından yukarıdaki adımları izleyin.
Orijinal Cevap:
Muhtemelen xcodebuild araçlarınız, Swift 4.0 ile oluşturulan ve Xcode 9.1 betanın Swift 4.0.1 ile uyumlu olmayan Xcode 9.0'a ayarlanmış durumda.
Şu komutu kullanarak terminali kontrol edin:
xcodebuild -version
Veya sadece Xcode tercihleri -> Konumlar'a gidin ve komut satırı araçlarını kontrol edin / Xcode 9.1 olarak değiştirin. O zaman hazırlanmalısın.
Swift Language Version
hiç Swift 4
olanlar için. Sonra işe yaradı.
Sorunum, Swift 4.0.2 için derlenmeyen bir dış çerçeveden kaynaklanıyordu. Bu dosyayı Carthage aracılığıyla ekledim , bu yüzden şu şekilde:
carthage update --platform iOS
Ve sonra proje cmd + shift + k
ve derleme klasörünü temizlemek ve cmd + option + shift + k
türetilmiş veri klasörünü silmek (sadece çöp kutusuna taşımak) benim için çalıştı.
Benim durumumda, SwiftUI'yi test etmek için xCode 11 Beta sürümünü indirdim. Projemi çalıştırdığımda, "Swift 5.1 ile derlenen modül Swift 5.0.1 derleyicisi tarafından içe aktarılamıyor: ..." hatası alıyorum.
Bu sorunu düzeltmek için. xCode komut satırı aracını yeni xCode 11 yorum satırı aracına değiştirdim. Bundan sonra SwiftUI ile yeni xcode projesi oluşturabilirsiniz.
Xcode -> Tercihler -> Konum -> XCode komut Satırı Aracı
Umarım bu, yeni freamework ile test etmek isteyen birine yardımcı olur :)
Buradan sizin için çalışan belirli Xcode sürümünün Xcode Toolchain'i yükleyin .
Bir Xcode araç zinciri, Swift'in belirli bir sürümünde çalışmak için uyumlu bir geliştirme deneyimi sağlamak için gerekli olan derleyici, lldb ve diğer ilgili araçların bir kopyasını içerir.
Xcode'un Tercihlerini açın, Bileşenler> Araç Zincirleri'ne gidin ve yüklü Swift araç zincirini seçin.
Bu, şimdilik uygulamayı derlemenize ve çalıştırmanıza izin verecektir.
Swift 4.2'yi ekleyen Xcode 10 beta ile bu soruna çarptım. Sorunum Carthage veya herhangi bir harici bağımlılıkla ilgiliydi.
YourTarget > Build Settings > Swift Language Version
Tüm Xcode hedefleriniz için adresine gidin .
Benimki ayarlandı Swift 4
.
Bir Kopyalama Dosyaları Oluşturma Aşaması ekledikten sonra, hatayı almaya başladım
: 0: hata: Swift 4.1.2 ile derlenen modül Swift 4.2 derleyicisi tarafından içe aktarılamaz: /Users/user/Library/Developer/Xcode/DerivedData/MyApp-faskfrihumfcdibjxisjvbfshppp/Build/Intermediates.noindex/MyApp.build/Debug/ MyAppExtension.build/Objects-normal/x86_64/MyClass~partial.swiftmodule
Komut MergeSwiftModule sıfır olmayan bir çıkış koduyla başarısız oldu
Sonra her hedefin set Swift Language Version
için Swift 4.2
, hatayı ortadan hangi.
Bununla birlikte, hatanın neden ilk etapta ortaya çıktığından emin değilim, çünkü tüm hedeflerin Swift 4
eşit olarak geçerli olması gerekir.
Build Settings
Benim durumumda (Xcode 9.2):
Xcode'a gittim Preferences > Locations > Derived Data
Daha sonra verileri sildim ve temiz bir yapı yaptım ve iyiydi.
Benim durumumda, cocoapods-binary
kitaplıkları ikili dosyalara dönüştürmek için eklenti ile CocoaPods kullandım . Xcode'u 10'dan 11'e yükselttikten sonra, Xcode bana şu hatayı veriyor:
Module compiled with Swift 5.0.1 cannot be imported by the Swift 5.1 compiler
/Pods
Dizini kaldırıp çalıştırarak düzeltiyorum pod install
.
Benim durumumda, çerçeveyi şikayet ettiği sürümle yeniden derledim.
Yeniden derlemek pod update
için kartajı çalıştırın veya güncelleyin (hangisini kullanıyor olursanız olun) ve projeyi oluşturun.
Ardından bulucuda çerçeveyi arayın. theFramework.framework
Projenize kopyalayıp yapıştırın ve "Gerekirse öğeleri kopyalayın."