Xcode をバージョンアップしたら何故かアプリがビルドできなくなったのですが色々やったらビルドできるようになったのでその方法を紹介します。
僕はこの問題の根本の理由は理解しておらず、一時的な対処方法な点をご了承ください。
環境
- Apple Silicon (M1) 環境
- Carthage 0.37.0 or elliottwilliams:release/0.38.0
- Realm v10.7.4
- Xcode 12.5
現象
アプリをビルドしたら以下のようなエラーが発生しました。
合わせて以下のような警告も発生しました(長いので一部略)。
画像で見るとこんな感じです。
対処
いろいろ試したのですが、どうも carthage のプレビルドバイナリは Xcode12.5 に互換性がなくて、 carthage 経由でビルドされたバイナリもなにか問題があるようです。
試しに、 carthage がチェックアウトしてきた Realm のプロジェクトを自前でビルドしてその xcframework を使ったらうまく動作しました。
手順は以下のとおりです。
- すでに carthage で checkout してきている前提
- されてなかったら
carthage checkout
してください
- されてなかったら
- プロジェクトのディレクトリに入る
cd ./Carthage/Checkouts/realm-cocoa
- ビルドスクリプトで xcframework をビルド
./build.sh xcframework
- build ディレクトリ内にできた Realm.xcframework と RealmSwift.xcframework を
Carthage/Build
にコピー
これをやってからビルドしたら無事ビルドできました。
似たような現象..?
なんとなく v10.7.4 でなんかおかしくなってる問題が issue になっていたのですがよくわかりませんでした..