This is a Carthage & Xcode 12 issue. Unfortunately at the moment there is no update from the Carthage team to address this issue. However, there is a shell script you can run to unblock you. It has worked for me. You can follow the thread on the Carthage github account.
https://github.com/Carthage/Carthage/issues/3019#issuecomment-665136323
- Create a shell script
carthage-build.sh
and place it in your Xcode project
#!/usr/bin/env bash
# carthage.sh
# Usage example: ./carthage-build.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.
echo 'EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_simulator__NATIVE_ARCH_64_BIT_x86_64__XCODE_1200 = arm64 arm64e armv7 armv7s armv6 armv8' >> $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 "$@"
- Run the script from your terminal to update your Carthage frameworks
$ ./carthage-build.sh build --platform iOS
Your frameworks should be able to update and compile.
FYI - I did not write this script, the credit goes to https://github.com/rastersize
Please follow the thread here for updates on this issue.
https://github.com/Carthage/Carthage/issues/3019
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…