gpt4 book ai didi

Swift 3.1.1编译错误: unknown key 'SwiftImportAsNonGeneric'

转载 作者:行者123 更新时间:2023-11-30 12:04:23 24 4
gpt4 key购买 nike

升级到 Xcode 9 后一段时间,我发现我无法再使用 Swift 3.1.1 快照(我通过 swiftenv 安装)构建基于 Kitura 的项目。

当我运行swift build时,在构建一段时间后我会得到:

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.apinotes:8:28: error: unknown key 'SwiftImportAsNonGeneric'
SwiftImportAsNonGeneric: true
^
<unknown>:0: error: could not build Objective-C module 'Foundation'

看来 Swift 和 Xcode 之间存在依赖关系,Xcode 9 不再与 Swift 3.1.1(或更早版本)快照完全兼容。我相信这可能是因为我的项目使用 Foundation,Mac 上的 Foundation 作为 Xcode 的一部分提供,而在 Linux 上它是 Swift 快照的一部分(通过 swift-corelibs-foundation )。

最佳答案

我确实找到了这个问题的解决方案:如果我保留 Xcode 8.3.3 的副本(例如在 /Applications/Xcode8.3.3.app 中),那么我可以使用 sudo xcode-select -s /Applications/Xcode<version>.app/Contents/Developer在使用 SPM 构建之前选择合适的项目,然后我可以在同一系统上构建 Swift 3.1.1 和 4.0 项目。

但是,这感觉有点笨拙。每次我使用“其他”Swift 版本构建项目时,我都必须确保运行 xcode-select ,否则构建将失败。在这种情况下,使用多个版本的 Xcode 是正确的解决方案吗?还是我错过了 Xcode 9 的技巧?

关于Swift 3.1.1编译错误: unknown key 'SwiftImportAsNonGeneric' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46833729/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com