【问题标题】:Carthage Build Failed after updating swift to version 4.0将 swift 更新到 4.0 版后 Carthage Build 失败
【发布时间】:2017-09-22 10:38:37
【问题描述】:

在将 swift 从 3.2 版更新到 4.0 版后,Carthage 构建失败。 以下是使用carthage update --platform iOS 的结果。

*** Fetching AlamofireImage
*** Fetching FSCalendar
*** Fetching Alamofire
*** Fetching ActiveLabel.swift
*** Fetching Toaster
*** Fetching PopupDialog
*** Fetching DKImagePickerController
*** Checking out DKImagePickerController at "3.6.1"
*** Checking out PopupDialog at "0.5.4"
*** Checking out Toaster at "2.1.0"
*** Checking out ActiveLabel.swift at "0.8.0"
*** Checking out Alamofire at "4.5.1"
*** Checking out FSCalendar at "2.7.9"
*** Checking out AlamofireImage at "3.3.0"
*** xcodebuild output can be found in /var/folders/6z/c0myz1fn4rsgy842p9vqqr700000gn/T/carthage-xcodebuild.my2Am1.log
*** Building scheme "ActiveLabel" in ActiveLabel.xcodeproj
Build Failed
    Task failed with exit code 65:
    /usr/bin/xcrun xcodebuild -project /Users/poqw/Documents/GitHub/nyg-ios/Carthage/Checkouts/ActiveLabel.swift/ActiveLabel.xcodeproj -scheme ActiveLabel -configuration Release -derivedDataPath /Users/poqw/Library/Caches/org.carthage.CarthageKit/DerivedData/9.0_9A235/ActiveLabel.swift/0.8.0 -sdk iphoneos ONLY_ACTIVE_ARCH=NO BITCODE_GENERATION_MODE=bitcode CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES build (launched in /Users/poqw/Documents/GitHub/nyg-ios/Carthage/Checkouts/ActiveLabel.swift)

This usually indicates that project itself failed to compile. Please check the xcodebuild log for more details: /var/folders/6z/c0myz1fn4rsgy842p9vqqr700000gn/T/carthage-xcodebuild.my2Am1.log

然后$ tail /var/folders/6z/c0myz1fn4rsgy842p9vqqr700000gn/T/carthage-xcodebuild.my2Am1.log

我明白了:

    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:~/.local/bin:/usr/local/bin:/Users/poqw/miniconda3/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/Wireshark.app/Contents/MacOS:/opt/local/bin"
    /usr/bin/ditto -rsrc /Users/poqw/Library/Caches/org.carthage.CarthageKit/DerivedData/9.0_9A235/ActiveLabel.swift/0.8.0/Build/Intermediates.noindex/ActiveLabel.build/Release-iphoneos/ActiveLabel.build/Objects-normal/armv7/ActiveLabel.swiftdoc /Users/poqw/Library/Caches/org.carthage.CarthageKit/DerivedData/9.0_9A235/ActiveLabel.swift/0.8.0/Build/Products/Release-iphoneos/ActiveLabel.framework/Modules/ActiveLabel.swiftmodule/arm.swiftdoc

** BUILD FAILED **


The following build commands failed:
    CompileC /Users/poqw/Library/Caches/org.carthage.CarthageKit/DerivedData/9.0_9A235/ActiveLabel.swift/0.8.0/Build/Intermediates.noindex/ActiveLabel.build/Release-iphoneos/ActiveLabel.build/Objects-normal/armv7/ActiveLabel_vers.o /Users/poqw/Library/Caches/org.carthage.CarthageKit/DerivedData/9.0_9A235/ActiveLabel.swift/0.8.0/Build/Intermediates.noindex/ActiveLabel.build/Release-iphoneos/ActiveLabel.build/DerivedSources/ActiveLabel_vers.c normal armv7 c com.apple.compilers.llvm.clang.1_0.compiler
    CompileC /Users/poqw/Library/Caches/org.carthage.CarthageKit/DerivedData/9.0_9A235/ActiveLabel.swift/0.8.0/Build/Intermediates.noindex/ActiveLabel.build/Release-iphoneos/ActiveLabel.build/Objects-normal/arm64/ActiveLabel_vers.o /Users/poqw/Library/Caches/org.carthage.CarthageKit/DerivedData/9.0_9A235/ActiveLabel.swift/0.8.0/Build/Intermediates.noindex/ActiveLabel.build/Release-iphoneos/ActiveLabel.build/DerivedSources/ActiveLabel_vers.c normal arm64 c com.apple.compilers.llvm.clang.1_0.compiler
(2 failures)

这是我为解决此问题所做的工作。

  • 删除派生的迦太基缓存。
  • 删除项目中的 Carthage 目录。
  • 卸载 Carthage 并重新安装。
  • 下载 Xcode 8.3.2 和 xcode-select --switch /Applications/Xcode8.app/Contents/Developer 并使用 xcrun 命令确保版本已更改为 swift 3.0,然后更新 Carthage。
  • 清理项目并重建
  • 重启 Xcode

如果有人可以帮助我,我将不胜感激。

【问题讨论】:

    标签: ios swift xcode carthage


    【解决方案1】:

    我使用的是 Xcode 8.3.1,这就是我所遵循的:

    Deleted derived data.
    Removed Carthage folder: rm -r ./Carthage
    Updated Cartfile with:
      github "facebook/facebook-sdk-swift" "master"
      github "facebook/facebook-ios-sdk" "sdk-version-4.21.0"
    

    运行迦太基命令:

    carthage update --platform iOS --no-use-binaries
    

    【讨论】:

    • 感谢您回答这个问题。但是您建议的解决方案是我已经做过的事情。而且它似乎仍然没有解决:(
    • 我遇到了很多问题,奇怪的是,我发现重置我的 Mac 有很大的不同。
    • 谢谢。但最后我没有以任何方式解决它。所以我格式化了我的macbook,现在它运行良好。
    • 欢迎。我又遇到了这个问题,我发现做一个清洁,首先对模拟器有帮助。
    • 似乎删除派生数据就足够了。至少对我来说。谢谢。
    【解决方案2】:

    Mac Senour 的解决方案对我不起作用;有效的是在这里清理 CarthageKit 的派生数据:/Library/Caches/org.carthage.CarthageKit/DerivedData/

    【讨论】:

      猜你喜欢
      • 2017-01-28
      • 1970-01-01
      • 1970-01-01
      • 2019-09-13
      • 1970-01-01
      • 1970-01-01
      • 2014-09-05
      • 2019-03-05
      • 2019-07-02
      相关资源
      最近更新 更多