Carthageを今更使っているプロジェクトは少なくなっているかもしれませんが、それでも使うにはそれぞれの理由があるかと思います。
私のプロジェクトでもCarthageビルドが前提の環境となっており、まだSPMへの移行はできていません。
そんなとき、下記のエラーがCarthageビルドで発生しました。
ld: file not found: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphoneos.a
clang: error: linker command failed with exit code 1 (use -v to see invocation)
The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 11.0 to 16.4.99.
** ARCHIVE FAILED **
Carthageビルド時にフレームワークのビルド設定を任意の値に変更する
こちらのコメントを参考に対応できました。
https://github.com/Carthage/Carthage/issues/3333#issuecomment-1605757401
下記のスクリプトを介してCarthageコマンドを実行することで、フレームワークの最低OSバージョンを11に変更しています。
またビットコード対応の設定をオフにしています。
#!/usr/bin/env bash
# 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
## optional
echo 'IPHONEOS_DEPLOYMENT_TARGET = 11.0' >> $xcconfig
echo "ENABLE_BITCODE=NO" >> $xcconfig
export XCODE_XCCONFIG_FILE="$xcconfig"
carthage "$@"
ワークアラウンドを用いて時間を稼いでる間になんとかSPM移行を進めたいと思います。