然而,我已经使用相同的Xcode重新编译了框架,它仍然给我这个错误。
我希望有人知道
9nvpjoqh1#
更新日期:
当使用Xcode 9.1、9.2、9.3、9.4、10等打开一个使用早期Xcode工具构建的框架的项目时,会发生此错误(以及涉及Swift 4.1、4.2等的类似错误)。要解决这个问题,请使用Carthage(carthage update --platform iOS)、Cocoapods(pod update或pod install)更新和重建框架,或者使用新更新的Xcode工具手动更新。这些工具应该会在更新Xcode时自动更新,但如果没有,您可以按照下面原始答案中列出的步骤操作。您可能还需要清理您的项目cmd + shift + k以及构建文件夹cmd + option + shift + k,以使Xcode不使用缓存的框架构建。在某些情况下,您可能还需要删除您的衍生数据文件夹(很容易找到Xcode首选项-〉位置-〉衍生数据文件夹(Thanks Stunner)
carthage update --platform iOS
pod update
pod install
cmd + shift + k
cmd + option + shift + k
请参阅下面的原始答案,然后按照上面的步骤操作。
原始答复:
您可能仍然将xcodebuild工具设置为Xcode 9.0,它使用Swift 4.0构建,与Xcode 9.1 beta的Swift 4.0.1不兼容。使用以下命令签入终端:
xcodebuild -version
或者直接进入Xcode首选项-〉位置,检查/更改命令行工具为Xcode 9. 1。然后就应该设置好了。
cyej8jka2#
我的问题是由于Swift 4.0.2没有编译外部框架。我通过Carthage添加了此文件,因此运行:
然后清理项目cmd + shift + k和构建文件夹cmd + option + shift + k,并删除派生数据文件夹(也只是将其移到垃圾桶),这对我很有效。
deyfvvtc3#
在我的例子中,我下载了xCode 11 Beta版本来测试SwiftUI。当我运行我的项目时,我得到了**“用Swift 5. 1编译的模块无法被Swift 5. 0. 1编译器导入:..."**错误。为了解决这个问题,我将xCode命令行工具更改为新的xCode 11注解行工具。之后,您可以使用SwiftUI创建新的xcode项目。
Xcode -〉首选项-〉位置-〉XCode命令行工具
我希望,这将有助于有人谁想要测试与新的freamework:)
t5fffqht4#
安装Xcode工具链的特定Xcode版本,这是为您工作从这里。Xcode工具链包括编译器、lldb和其他相关工具的副本,这些工具可以为在特定版本的Swift中工作提供一致的开发体验。打开Xcode的首选项,导航到组件〉工具链,然后选择安装的Swift工具链。这将允许您现在编译和运行应用程序。
jdg4fx2g5#
我在Xcode 10 beta中遇到了这个问题,它添加了Swift 4. 2。我的问题与Carthage或任何外部依赖无关。转到YourTarget > Build Settings > Swift Language Version获取所有Xcode目标。我的都设置为Swift 4。在添加了一个复制文件构建阶段之后,我开始得到这个错误:0:错误:Swift 4.2编译器无法导入Swift 4.1.2编译的模块:/用户/用户/库/开发人员/Xcode/派生数据/我的应用程序-faskfrihumfcdibjxisjvbfshppp/构建/中间体.noindex/我的应用程序.构建/调试/我的应用程序扩展.构建/对象-正常/x86_64/我的类~部分.swiftmodule命令MergeSwiftModule失败,退出代码为非零然后,我将每个目标的Swift Language Version设置为Swift 4.2,这样就消除了错误。我不知道为什么错误会发生在第一位,虽然,有所有的目标设置为Swift 4应该同样有效。
YourTarget > Build Settings > Swift Language Version
Swift 4
Swift Language Version
Swift 4.2
f0brbegy6#
在我的例子中(Xcode 9.2):我去了Xcode Preferences > Locations > Derived Data然后我删除了数据,并做了一个干净的构建,并确定。
Preferences > Locations > Derived Data
fcg9iug37#
在我的例子中,我使用CocoaPods和cocoapods-binary插件将库预构建为二进制文件。在我将Xcode从10升级到11后,Xcode给我这个错误:
cocoapods-binary
Module compiled with Swift 5.0.1 cannot be imported by the Swift 5.1 compiler
我通过删除/Pods目录并运行pod install来修复它。
/Pods
deyfvvtc8#
在我的例子中,我用它抱怨的任何版本重新编译了框架。要重新编译,请运行pod update或更新carthage(无论您使用哪一个),然后构建项目。然后在finder中搜索框架,将theFramework.framework复制粘贴到您的项目中,并确保“Copy items if needed“。再次构建项目,它应该可以工作。
theFramework.framework
x759pob29#
我用几个基本步骤解决了这个问题
Close Xcode
pod deintegrate
Open Xcode workspace
Command + Shift + K
Command + B
9条答案
按热度按时间9nvpjoqh1#
更新日期:
当使用Xcode 9.1、9.2、9.3、9.4、10等打开一个使用早期Xcode工具构建的框架的项目时,会发生此错误(以及涉及Swift 4.1、4.2等的类似错误)。
要解决这个问题,请使用Carthage(
carthage update --platform iOS
)、Cocoapods(pod update
或pod install
)更新和重建框架,或者使用新更新的Xcode工具手动更新。这些工具应该会在更新Xcode时自动更新,但如果没有,您可以按照下面原始答案中列出的步骤操作。您可能还需要清理您的项目
cmd + shift + k
以及构建文件夹cmd + option + shift + k
,以使Xcode不使用缓存的框架构建。在某些情况下,您可能还需要删除您的衍生数据文件夹(很容易找到Xcode首选项-〉位置-〉衍生数据文件夹(Thanks Stunner)
请参阅下面的原始答案,然后按照上面的步骤操作。
原始答复:
您可能仍然将xcodebuild工具设置为Xcode 9.0,它使用Swift 4.0构建,与Xcode 9.1 beta的Swift 4.0.1不兼容。
使用以下命令签入终端:
或者直接进入Xcode首选项-〉位置,检查/更改命令行工具为Xcode 9. 1。然后就应该设置好了。
cyej8jka2#
我的问题是由于Swift 4.0.2没有编译外部框架。我通过Carthage添加了此文件,因此运行:
然后清理项目
cmd + shift + k
和构建文件夹cmd + option + shift + k
,并删除派生数据文件夹(也只是将其移到垃圾桶),这对我很有效。deyfvvtc3#
在我的例子中,我下载了xCode 11 Beta版本来测试SwiftUI。当我运行我的项目时,我得到了**“用Swift 5. 1编译的模块无法被Swift 5. 0. 1编译器导入:..."**错误。
为了解决这个问题,我将xCode命令行工具更改为新的xCode 11注解行工具。之后,您可以使用SwiftUI创建新的xcode项目。
Xcode -〉首选项-〉位置-〉XCode命令行工具
我希望,这将有助于有人谁想要测试与新的freamework:)
t5fffqht4#
安装Xcode工具链的特定Xcode版本,这是为您工作从这里。
Xcode工具链包括编译器、lldb和其他相关工具的副本,这些工具可以为在特定版本的Swift中工作提供一致的开发体验。
打开Xcode的首选项,导航到组件〉工具链,然后选择安装的Swift工具链。
这将允许您现在编译和运行应用程序。
jdg4fx2g5#
我在Xcode 10 beta中遇到了这个问题,它添加了Swift 4. 2。我的问题与Carthage或任何外部依赖无关。
转到
YourTarget > Build Settings > Swift Language Version
获取所有Xcode目标。我的都设置为
Swift 4
。在添加了一个复制文件构建阶段之后,我开始得到这个错误
:0:错误:Swift 4.2编译器无法导入Swift 4.1.2编译的模块:/用户/用户/库/开发人员/Xcode/派生数据/我的应用程序-faskfrihumfcdibjxisjvbfshppp/构建/中间体.noindex/我的应用程序.构建/调试/我的应用程序扩展.构建/对象-正常/x86_64/我的类~部分.swiftmodule
命令MergeSwiftModule失败,退出代码为非零
然后,我将每个目标的
Swift Language Version
设置为Swift 4.2
,这样就消除了错误。我不知道为什么错误会发生在第一位,虽然,有所有的目标设置为
Swift 4
应该同样有效。f0brbegy6#
在我的例子中(Xcode 9.2):
我去了Xcode
Preferences > Locations > Derived Data
然后我删除了数据,并做了一个干净的构建,并确定。
fcg9iug37#
在我的例子中,我使用CocoaPods和
cocoapods-binary
插件将库预构建为二进制文件。在我将Xcode从10升级到11后,Xcode给我这个错误:我通过删除
/Pods
目录并运行pod install
来修复它。deyfvvtc8#
在我的例子中,我用它抱怨的任何版本重新编译了框架。
要重新编译,请运行
pod update
或更新carthage(无论您使用哪一个),然后构建项目。然后在finder中搜索框架,将
theFramework.framework
复制粘贴到您的项目中,并确保“Copy items if needed“。再次构建项目,它应该可以工作。x759pob29#
我用几个基本步骤解决了这个问题
Close Xcode
pod deintegrate
Open Xcode workspace
Command + Shift + K
-清洁Command + B
-内部版本