Xcodeのversionをあげた際に起こるCarthageでのエラー修正

エラーが出た経緯

iOSのversionが12.0になったので、updateすると自分の実機でdebugできなくなったのでxcodeのversionもあげました。

そしたら、Carthageあたりでめっちゃエラー出ました。

エラー

Module compiled with Swift 5.1.3 cannot be imported by the Swift 5.2 compiler: file名/Build/iOS/Carthage名/Modules/Carthage名/.swiftmodule/arm64.swiftmodule

こんな感じのエラーです。

対策

今回のエラーの対策は、3種類あります。

1

RxSwiftなど、Swift5.2に対応しているCarthjgeはversion指定を外して Carthage updateをすればbuildが通ります。

今回詰まったのは、SwiftyBeaverというLibraryがswift5.2に対応していなかったのでCarthage updateしても ターミナルでTask failed with exit code 65が返されました。 なので、Xcodever9.41をapple developerからdownload してきました。

3

開発チームによっては、Xcodeの吐き出すバイナリを統一するためXcodeのバージョンを縛っているケースがあります。

その際は、チームの方に聞いてみましょう!