はじめに
最新のFirebaseUIは、M1対応ができていますので本記事の対応する必要がありません。
FirebaseUIを導入してシミュレーターを実行しようとビルドしたらエラーとなってしまいはまったのでその解決方法について調べたので共有します。
エラーメッセージ
このようなエラーメッセージが表示されました。
よくよく見ると building for iOS Simulator, but linking in object file built for iOS, file (中略) for architecture arm64
と書いてあります。
これは、arm64アーキテクチャでリンクができなかったと書いてあります。
この原因は、M1 Macに搭載されているApple SiliconがARMベースのプロセッサーになっており、ARMアーキテクチャのバイナリーがないためエラーとなっていました。
解決方法
解決方法としては、Xcode自体はRosetta2上で実行しIntel Mac同等にすることによって従来のMac同様となりIntel Macのシミュレーター用バイナリが使えるようにしてエラーを解決します。
解決手順について記載します。
- Finderを起動し、メニューバーの移動よりアプリケーションを選択します。
- Xcodeを選択し、右クリック>情報を見るを選択します。
- Rosettaを使用するにチェックします。
- Xcodeを終了し再起動します。
- メニューバーのProduct>Clean Build Folderを選択し、ビルド情報を消去します。
- シミュレーターを実行するために▶️ボタンを選択します。
最後に
他のライブラリーでも時々シミュレーターで実行すると同様のエラーとなる場合があります。
その時は、同じ手順で解決できることが多いです。全てのライブリーがM1 Mac対応になることを祈る限りです。