【问题标题】:Command CompileSwiftSources failed with a nonzero exit code XCode 13命令 CompileSwiftSources 失败,退出代码为非零 XCode 13
【发布时间】:2021-11-15 10:58:00
【问题描述】:

我正在尝试在 Xcode13 上运行一个项目,在运行 pod cache clean --all、删除派生数据并运行 pod 更新之后。 当我清理项目并构建它时 出现如下错误:

CompileSwiftSources normal x86_64 com.apple.xcode.tools.swift.compiler (in target 'Alamofire' from project 'Pods')
    cd /Users/aimoresa/MyProject-iOS/Pods
    export DEVELOPER_DIR\=/Applications/Xcode.app/Contents/Developer
    export SDKROOT\=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator15.0.sdk
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc -incremental -module-name Alamofire -Onone -enable-batch-mode -enforce-exclusivity\=checked @/Users/aimoresa/Library/Developer/Xcode/DerivedData/LinkProject-bwzldrnlucfenpavteypbjybxdky/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/Alamofire.build/Objects-normal/x86_64/Alamofire.SwiftFileList -DDEBUG -D COCOAPODS -suppress-warnings -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator15.0.sdk -target x86_64-apple-ios10.0-simulator -g -module-cache-path /Users/aimoresa/Library/Developer/Xcode/DerivedData/ModuleCache.noindex -Xfrontend -serialize-debugging-options -enable-testing -index-store-path /Users/aimoresa/Library/Developer/Xcode/DerivedData/LinkProject-bwzldrnlucfenpavteypbjybxdky/Index/DataStore -swift-version 5 -I /Users/aimoresa/Library/Developer/Xcode/DerivedData/LinkProject-bwzldrnlucfenpavteypbjybxdky/Build/Products/Debug-iphonesimulator/Alamofire -F /Users/aimoresa/Library/Developer/Xcode/DerivedData/LinkProject-bwzldrnlucfenpavteypbjybxdky/Build/Products/Debug-iphonesimulator/Alamofire -c -j4 -output-file-map /Users/aimoresa/Library/Developer/Xcode/DerivedData/LinkProject-bwzldrnlucfenpavteypbjybxdky/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/Alamofire.build/Objects-normal/x86_64/Alamofire-OutputFileMap.json -parseable-output -serialize-diagnostics -emit-dependencies -emit-module -emit-module-path /Users/aimoresa/Library/Developer/Xcode/DerivedData/LinkProject-bwzldrnlucfenpavteypbjybxdky/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/Alamofire.build/Objects-normal/x86_64/Alamofire.swiftmodule -Xcc -I/Users/aimoresa/Library/Developer/Xcode/DerivedData/LinkProject-bwzldrnlucfenpavteypbjybxdky/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/Alamofire.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/aimoresa/Library/Developer/Xcode/DerivedData/LinkProject-bwzldrnlucfenpavteypbjybxdky/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/Alamofire.build/Alamofire-generated-files.hmap -Xcc -I/Users/aimoresa/Library/Developer/Xcode/DerivedData/LinkProject-bwzldrnlucfenpavteypbjybxdky/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/Alamofire.build/Alamofire-own-target-headers.hmap -Xcc -I/Users/aimoresa/Library/Developer/Xcode/DerivedData/LinkProject-bwzldrnlucfenpavteypbjybxdky/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/Alamofire.build/Alamofire-all-non-framework-target-headers.hmap -Xcc -ivfsoverlay -Xcc /Users/aimoresa/Library/Developer/Xcode/DerivedData/LinkProject-bwzldrnlucfenpavteypbjybxdky/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/Alamofire.build/all-product-headers.yaml -Xcc -iquote -Xcc /Users/aimoresa/Library/Developer/Xcode/DerivedData/LinkProject-bwzldrnlucfenpavteypbjybxdky/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/Alamofire.build/Alamofire-project-headers.hmap -Xcc -I/Users/aimoresa/Library/Developer/Xcode/DerivedData/LinkProject-bwzldrnlucfenpavteypbjybxdky/Build/Products/Debug-iphonesimulator/Alamofire/include -Xcc -I/Users/aimoresa/Library/Developer/Xcode/DerivedData/LinkProject-bwzldrnlucfenpavteypbjybxdky/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/Alamofire.build/DerivedSources-normal/x86_64 -Xcc -I/Users/aimoresa/Library/Developer/Xcode/DerivedData/LinkProject-bwzldrnlucfenpavteypbjybxdky/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/Alamofire.build/DerivedSources/x86_64 -Xcc -I/Users/aimoresa/Library/Developer/Xcode/DerivedData/LinkProject-bwzldrnlucfenpavteypbjybxdky/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/Alamofire.build/DerivedSources -Xcc -DPOD_CONFIGURATION_DEBUG\=1 -Xcc -DDEBUG\=1 -Xcc -DCOCOAPODS\=1 -emit-objc-header -emit-objc-header-path /Users/aimoresa/Library/Developer/Xcode/DerivedData/LinkProject-bwzldrnlucfenpavteypbjybxdky/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/Alamofire.build/Objects-normal/x86_64/Alamofire-Swift.h -import-underlying-module -Xcc -ivfsoverlay -Xcc /Users/aimoresa/Library/Developer/Xcode/DerivedData/LinkProject-bwzldrnlucfenpavteypbjybxdky/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/Alamofire.build/unextended-module-overlay.yaml -working-directory /Users/aimoresa/InvestorCentre-iOS/Pods

Command CompileSwiftSources failed with a nonzero exit code

【问题讨论】:

  • 不幸的是这里一样
  • 这里相同,但我在归档构建时遇到了这个问题

标签: ios swift xcode ios15 xcode13


【解决方案1】:

已编辑:对于使用 Cocoapods 的人,此答案可能有用:https://stackoverflow.com/a/69384358/587609


我也遇到过这个问题,似乎在 Xcode 13 上有一个已知问题,如本文档中所述:https://developer.apple.com/documentation/Xcode-Release-Notes/xcode-13-release-notes

依赖于 Combine 的 Swift 库可能无法为包括 armv7 和 i386 架构在内的目标构建。 (82183186, 82189214)

解决方法:使用不受影响的库的更新版本(如果可用)或删除 armv7 和 i386 支持(例如,将库的部署目标增加到 iOS 11 或更高版本)。

如果您的应用适用于 iOS 11 或更高版本,则应修改其中一个库以针对 iOS 11 或更高版本(例如,我的应用适用于 iOS 12 或更高版本)。

比如我用的是GRDB.swift,它的最低iOS版本是10.0。 这个 repo 有一个an issue 的讨论,我按照该评论解决了这个问题,如下所示:

  1. 分叉存储库
  2. 更改 Package.swift 以修改最低 iOS 版本,例如:
let package = Package(
name: "GRDB",
platforms: [
    .iOS("12.0"),   // changed here
    .macOS("10.10"),
    .tvOS("9.0"),
    .watchOS("2.0"),
],
...
  1. 修改 Podfile 或 Swift Package Manager (SPM) 配置以使用我的分叉存储库

我在我的 Xcode 项目中通过 SPM 使用了五个库,但将上述方法仅应用于其中一个库解决了这个问题。

苹果论坛也有相关贴:https://developer.apple.com/forums/thread/682285

【讨论】:

  • 不是解决方案,如果你必须支持 iOS
【解决方案2】:

打开 xcworkspace>Pods>Build Settings>iOS 部署目标。

将每个 pod 最低设置为 iOS 11 或更高版本。

【讨论】:

    【解决方案3】:

    我的情况是使用 Carthage 生成的一些框架。

    我将框架更改为 XCFrameworks。然后一切都按预期工作。

    【讨论】:

      【解决方案4】:

      我在 Xcode 13.0 中遇到了这个问题。

      Mohamed Tarek 的解决方案对我有用,但是……

      我使用的是 cocoapods,所以我需要一个不会被 pod install 吹走的解决方案;或更具体地使用pod install 修复。

      Podfile 的底部添加以下内容即可解决。

      post_install do |installer|
        installer.pods_project.targets.each do |target|
          target.build_configurations.each do |config|
          # some older pods don't support some architectures, anything over iOS 11 resolves that
            config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0'
          end
        end
      end
      

      【讨论】:

      • 我使用了与您的答案相同的方法,效果很好谢谢:)
      【解决方案5】:

      更新到 Xcode 13 后,我收到了三个 pod 给我这个错误。幸运的是简单的 pod update 修复了它。虽然我的部署目标是 iOS 11 或更高版本,所以这也可能有所帮助。

      【讨论】:

        猜你喜欢
        • 2020-10-28
        • 1970-01-01
        • 2022-01-10
        • 2020-03-30
        • 2019-02-20
        • 1970-01-01
        • 1970-01-01
        • 2023-03-27
        • 2019-11-26
        相关资源
        最近更新 更多