Xcode 16.0 beta 3 を使っている場合に Carthage 0.39.1 でビルドができない

Xcode 16.0 beta 3 を使っている場合に Carthage 0.39.1 でビルドができない

Clock Icon2024.07.24

現在開発しているiOSアプリはパッケージマネージャとして、CarthageとCocoaPodsを利用している。Carthageは事前にライブラリをビルドしてxcframeworkを出力して、全体のビルド時間を短縮することができる。IntelチップからAppleチップへの移行であまり恩恵を感じなくなっているものの、過去には1時間半かかっていたビルド時間を10分以下に短縮できていたので重宝していた。

さて、先行して Xcode 16.0 betaでアプリをビルドできるのか調査をおこない、Xcode 16.0 beta 3 をアクティブにしている場合、Carthage 0.39.1 を使ってビルドができないことが判明した。

検証環境

  • Xcode 16.0 beta 3
  • macOS Sonoma 14.5

問題: Xcode 16.0 を使っている場合、Carthageでビルドエラーが発生する

Xcode 16.0 beta 3をアクティブにしている状態で、Carthage を使い、いつものようにAlamofireのビルドをおこなおうとした時に、ビルドエラーが発生した。

carthage bootstrap --platform ios --use-xcframeworks Alamofire

Alamofire側の問題かと思ったが、調査したところ、それ以外のライブラリでもビルドエラーが発生していたため、Carthage側の問題であることがわかった。

解決編

Carthage 0.39.1 は、Xcode 16.0 には対応していない。Xcode 16対応のCarthageも現時点ではリリースされていない。ただし、masterブランチでは対応済みのため、一度Carthageを削除して、masterブランチ版のCarthageをインストールすればよい。このコマンドは、Carthageそのものをビルドするため、時間があるときに実施するとよい。

brew uninstall carthage; brew install --head carthage

また他のバージョンのXcodeでビルドした中間ファイルが残っている可能性があるため、合わせて削除しておければより安心だろう。

rm -rf ~/Library/Developer/Xcode/DerivedData/
rm -rf ~/Library/Caches/org.carthage.CarthageKit 
rm -rf ~/Library/Caches/carthage

キャッシュを削除した上で、先ほどビルドに失敗したコマンドを実行してみよう。問題なくビルドすれば解決だ。

carthage bootstrap --platform ios --use-xcframeworks Alamofire

関連記事

https://github.com/Carthage/Carthage/issues/3374

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.