2017-06-14 120 views
1

我上週剛剛更新到Xcode的9,我一直在尋找一種方式來解決這個錯誤:如何使用Realm與包含新版本Swift的Xcode新發布的版本?

Module compiled with Swift 3.1 cannot be imported in Swift 4.0

每次Xcode中的新版本發佈,包括斯威夫特的新版本,我必須等待RealmSwift項目才能更新,以便構建和運行我的項目。我知道這與Swift的ABI穩定性有關,但我也看到其他人似乎知道如何解決這個問題,直到出現Realm兼容版本。目前,我正在運行2.8.0,這是昨天晚上發佈的最新版本。我選擇的依賴經理是迦太基,但類似的問題通常涉及CocoaPods,這對我無能爲力。

任何人都可以爲像我這樣的陌生人提供一些明確的指示,所以我可以繼續在我的項目上工作,當將來的版本出來時?謝謝。

+0

我以爲在WWDC他們提到swift 4與swift 3兼容。也許這是您需要在Xcode中修復的設置? – Steve

+0

您是使用CocoaPods,Carthage,下載預構建的二進制文件還是從源代碼構建Realm? – AustinZ

+0

在觀看WWDC會議時,我注意到Swift 4與Swift 3基本兼容,並且Swift 3.2支持這種遷移。出於這個原因,我想知道使用舊版本的RealmSwift和新的Xcode版本是否會比過去更容易。 @Steve – blutie

回答

1

當使用測試版本的Xcode時,您需要將--no-use-binaries傳遞給carthage bootstrap,以便Carthage從源代碼構建所有依賴項。

+0

我試過了你的建議,一切都很順利,直到我得到這個:「警告:在編譯期間未使用的參數:'-iapinotes-modules [...] watchos/armv7k'」我應該嘗試使用「 - platform iOS」 ?原諒我,我是新手。 – blutie

+1

我試過了,Carthage內置了它,但xcode仍然給出了相同的錯誤。想到我失蹤了? – MadeByDouglas

+1

使用'xcode-select'來選擇在命令行上構建時使用哪個版本的Xcode。 –

相關問題