我有一个框架(在本例中为RxSwift),已使用Xcode 11.0将其编译为传统RxSwift.framework
样式包
这很好地导入了Xcode 11.0和11.1,从没有任何问题
今天,在Apple发布Xcode 11.2时,我进行了升级,并看到以下错误:
使用Swift 5.1编译的模块不能由Swift 5.1.2编译器导入
我曾经习惯过快速编译器不匹配,而且我知道我可以使用Xcode 11.2重新编译RxSwift并继续进行,但是Swift 5.1的头条功能是
模块稳定性 。
我给人的印象是,既然我们已经有了模块稳定性,那么框架就不需要继续与每个新的Xcode版本一起重新编译,但是事实并非如此。
如果有人能解释这里发生的事情,我将不胜感激。Xcode 11.2是否存在错误?还是我最初用Xcode 11.0编译时需要某种方式告诉它我想要模块稳定性吗?
是的,结果证明如果您观看WWDC视频,他们会对其进行解释:https:
//developer.apple.com/videos/play/wwdc2019/416/
您需要在框架的构建设置中将“ 分发 的 构建库” 选项设置为“ 是”
,否则swift编译器不会生成必需的.swiftinterface
文件,这是将来编译器能够加载旧库的关键。
最终在您的project.pbxproj文件中显示为:
BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
设置此标志后,我使用Xcode 11.0(swift 5.1)编译的框架可以被Xcode 11.2(swift 5.1.2)使用,并且一切似乎都正常工作。
希望这个问题/答案将为所有未观看所有WWDC视频的人提供有用的参考
如果错误仍然存在,请转至 产品 > 清理构建文件夹, 然后再次 构建 。
问题内容: 我有一个使用Xcode 10.3构建的VoiceSampler.framework 我正在尝试在新项目的Xcode11中使用该框架。我已经成功添加了该框架,但是当我用AppDelegate 编写时,出现以下错误: 使用Swift 5.0.1编译的模块无法由Swift 5.1编译器导入:/Users/apple/Projects/CaptureAppSwift/VoiceSampler.
问题内容: 我正在尝试按照指令https://github.com/Paytm- Payments/Paytm_iOS_App_Kit/tree/master/Swift/BitCodeDisabled/PaytmNativeSDK将 第三方应用程序集成到项目中 我在构建中看到以下错误 Swift 5.0编译器无法导入使用Swift 4.2.1编译的模块 我尝试了工具链https://medium
问题内容: 我将Xcode升级到8.1 GM,现在遇到SwiftyJSON的以下错误。其他导入的框架似乎可行。在SwiftyJSON升级其框架之前,是否有办法强迫它在Swift 3中工作?我用迦太基来导入/更新框架。我也尝试将“ 打开”和“关闭” 更改为无效。 使用Swift 3.0编译的模块无法在Swift 3.0.1中导入:Modules / SwiftyJSON.swiftmodule /
使用命令行编译器 注解 这一节并不适用于 solcjs solc 是 Solidity 源码库的构建目标之一,它是 Solidity 的命令行编译器。你可使用 solc --help 命令来查看它的所有选项的解释。该编译器可以生成各种输出,范围从简单的二进制文件、汇编文件到用于估计“gas”使用情况的抽象语法树(解析树)。如果你只想编译一个文件,你可以运行 solc --bin sourceFil
工具链介绍 gxnpuc 用于把模型文件编译成能在 NPU 上运行的 npu 文件。 usage: gxnpuc [-h] [-V] [-L] [-v] [-m] [-c CMD [CMD ...]] [config_filename] NPU Compiler positional arguments: config_filename config file optiona