Xcode 12 Carthage Update Task failed with exit code 1:

方法1:

在命令行目录下,新建 xxx.xcconfig 文件
复制下面,粘贴到 xxx.xcconfig

EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_simulator__NATIVE_ARCH_64_BIT_x86_64=arm64 arm64e armv7 armv7s armv6 armv8\
EXCLUDED_ARCHS=$(inherited) $(EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_$(EFFECTIVE_PLATFORM_SUFFIX)__NATIVE_ARCH_64_BIT_$(NATIVE_ARCH_64_BIT))}

命令行,在 xxx.xcconfig 目录下执行

export XCODE_XCCONFIG_FILE=$PWD/xxx.xcconfig

命令行 carthage 更新

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

方法2:

  1. 新建 carthage.sh 文件, 复制下面代码到 carthage.sh
# carthage.sh
# Usage example: ./carthage.sh build --platform iOS

set -euo pipefail

xcconfig=$(mktemp /tmp/static.xcconfig.XXXXXX)
trap 'rm -f "$xcconfig"' INT TERM HUP EXIT

# For Xcode 12 make sure EXCLUDED_ARCHS is set to arm architectures otherwise
# the build will fail on lipo due to duplicate architectures.

CURRENT_XCODE_VERSION=$(xcodebuild -version | grep "Build version" | cut -d' ' -f3)
echo "EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_simulator__NATIVE_ARCH_64_BIT_x86_64__XCODE_1200__BUILD_$CURRENT_XCODE_VERSION = arm64 arm64e armv7 armv7s armv6 armv8" >> $xcconfig

echo 'EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_simulator__NATIVE_ARCH_64_BIT_x86_64__XCODE_1200 = $(EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_simulator__NATIVE_ARCH_64_BIT_x86_64__XCODE_1200__BUILD_$(XCODE_PRODUCT_BUILD_VERSION))' >> $xcconfig
echo 'EXCLUDED_ARCHS = $(inherited) $(EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_$(EFFECTIVE_PLATFORM_SUFFIX)__NATIVE_ARCH_64_BIT_$(NATIVE_ARCH_64_BIT)__XCODE_$(XCODE_VERSION_MAJOR))' >> $xcconfig

export XCODE_XCCONFIG_FILE="$xcconfig"
carthage "$@"
  1. 把 carthage.sh 放到 /usr/local/bin/carthage.sh 目录下, 或者其他什么目录(不建议)
  2. 配置环境变量, 使用 carthage.sh 不用加前面路径
chmod +x /usr/local/bin/carthage.sh
  1. 使用 carthage.sh 替换 carthage
carthage.sh build --platform iOS
carthage.sh update --platform iOS --no-use-binaries --cache-builds

Using Carthage with Xcode 12
Carthage builds fail at xcrun lipo on Xcode 12 beta (3,4,5...)

你可能感兴趣的:(Xcode 12 Carthage Update Task failed with exit code 1:)