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が通ります。
2
今回詰まったのは、SwiftyBeaver
というLibraryがswift5.2に対応していなかったのでCarthage updateしても
ターミナルでTask failed with exit code 65
が返されました。
なので、Xcodeのver9.41をapple developerからdownload してきました。
3
開発チームによっては、Xcodeの吐き出すバイナリを統一するためXcodeのバージョンを縛っているケースがあります。
その際は、チームの方に聞いてみましょう!