自作アプリで使用しているライブラリをCarthageを使って管理しています。
Xcode12をインストール後、いつものようにライブラリを更新しようとしたら下記のエラーが発生し、ビルドが失敗しました。
Build Failed
Task failed with exit code 1:
/usr/bin/xcrun lipo -create (省略)...
This usually indicates that project itself failed to compile. Please check the xcodebuild log for more details: /var/folders/9q/y4brxkg55vx1qv9n3wm3_h6w0000gn/T/carthage-xcodebuild.ty453u.log
なお、この記事を記述している時点の環境は以下となります。
- macOS Catalina 10.15.6
- Xcode 12.0.1(12A7300)
- Carthage 0.36.0
検索して見つけた対処法をいくつか実施してみたけど、同じエラーでビルドできず。
使用していたライブラリはたまたま更新がなかったので、更新する必要はなかったのですが、このエラーのせいでiOSシミュレータへのビルドができませんでした。
(コマンド実行する前にoutdatedオプションで確認しておけば良かったんですけどね...)
実機ではビルドできたので仕方なくiOS14の稼働確認などを行っていました。
少ししてシミュレータでApp Store用のスクリーンショットを撮影したくなったのでまた再調査したところ、過去に実施した対応とは内容がちょっと違いそうな対策を見つけました。
Carthage Issues #3019
https://github.com/Carthage/Carthage/issues/3019#issuecomment-665136323
詳細はリンク先を参照していただけばと思います。
手順は簡単で、以下を行います。
1.提示されたスクリプトを保存
2.そのままでは実行できないので、所有者に実行権限を付与
3.いつものCarthageのコマンドでビルド
これで私は無事、ライブラリのビルドができてシミュレーターを動かすことが出来ました。
ちなみにリンク先のコマンド実行ではライブラリによってはMacOSやWatchOSのものもビルドされてしまい、時間がかかるので「--platform iOS」のオプションをつけて実行しました。