LoginSignup
1
0

Carthageビルドでビルド設定を変更したい時

Posted at

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移行を進めたいと思います。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0