使用Swift 4.0编译的模块不能在Swift 3.2.2中导入-在XCode 9.1之后

使用Swift 4.0编译的模块不能在Swift 3.2.2中导入-在XCode 9.1之后,swift,xcode,realm,Swift,Xcode,Realm,我已经使用了一段时间的领域,直到今天XCode self自动升级到XCode 9.1,都没有问题。我打开我的项目,我得到以下错误 无法将使用Swift 4.0编译的模块导入Swift 3.2.2:/Users/UserName/MyApp/MyApp Watch App Extension/RealmSwift.framework/Modules/RealmSwift.swiftmodule/i386.swiftmodule 错误指向导入RealmSwift 我尝试升级到领域版本swift-4.

我已经使用了一段时间的
领域
,直到今天XCode self自动升级到
XCode 9.1
,都没有问题。我打开我的项目,我得到以下错误

无法将使用Swift 4.0编译的模块导入Swift 3.2.2:/Users/UserName/MyApp/MyApp Watch App Extension/RealmSwift.framework/Modules/RealmSwift.swiftmodule/i386.swiftmodule

错误指向导入RealmSwift

我尝试升级到
领域版本swift-4.0
,但我一直收到相同的错误。我升级的方式是从我的项目中删除领域框架并添加swift-4.0版本

仅供参考-我的项目中没有使用Swift 4


你知道有什么问题吗?

错误消息告诉你,Xcode 9.1正在使用Swift 3.2.2,而你正在构建的领域Swift框架是为Swift 4.0构建的(使用Xcode 9.0)。您需要将领域框架更新为为您正在使用的Swift版本构建的版本,您可以在最新版本的领域中找到该版本。

错误消息告诉您,Xcode 9.1正在使用Swift 3.2.2,而您正在构建的领域Swift框架是为Swift 4.0构建的(使用Xcode 9.0)。您需要将您的领域框架更新为您正在使用的Swift版本的版本,您可以在最新版本的领域中找到这些版本。

@bdash但是,如果我使用的是相同的
领域版本,为什么它会在XCode 9上工作?
?XCode 9.0附带了Swift 3.2和Swift 4.0。Xcode 9.1附带了Swift 3.2.2和Swift 4.0.2,这两个版本与Xcode 9.0的版本不兼容。@bdash有意义。升级到
swift-3.2.2
解决了这个问题,谢谢。快速提问。现在我正在手动安装/升级Realm,使用Cocoapods安装
Realm
以避免此类问题是更好还是更可取?Cocoapods和Carthage等依赖关系管理器确实使这种情况更容易处理,但他们并没有消除意识到这一点的需要。Realm的文档中有关于如何使用CoCoapod集成Realm Swift的说明。我建议看一看。@bdash但如果我使用的是相同的
领域版本
,为什么它会在XCode 9上工作?XCode 9.0附带了Swift 3.2和Swift 4.0。Xcode 9.1附带了Swift 3.2.2和Swift 4.0.2,这两个版本与Xcode 9.0的版本不兼容。@bdash有意义。升级到
swift-3.2.2
解决了这个问题,谢谢。快速提问。现在我正在手动安装/升级Realm,使用Cocoapods安装
Realm
以避免此类问题是更好还是更可取?Cocoapods和Carthage等依赖关系管理器确实使这种情况更容易处理,但他们并没有消除意识到这一点的需要。Realm的文档中有关于如何使用CoCoapod集成Realm Swift的说明。我建议你看看。只需清理你的项目(
Cmd+K
)并重新构建。只需清理你的项目(
Cmd+K
)并重新构建。