CocoaPods等でバイナリの形で公開されているライブラリの中には、実機ビルドや Intel Mac のシミュレータ向けビルドは通るのにM1 Macのシミュレータ向けビルドが通らないものがあります。
例えば GoogleSignIn です。これは以下のissueでも盛んにリクエストされていますが、一向に対応される気配がありません。
このようなとき、シミュレータ向けビルドのアーキテクチャからarm64を省くとビルドを通すことができ、M1 Macでシミュレータ上で動作させることが可能になります。
- Swift Package Manager を使っていたら全部 CocoaPods に変更する
- SPMで該当オプションを変更するやり方がわからなかった
- ターゲットの Excluded architectures に arm64 を追加
- Podfile の末尾に以下を追加
post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64" end end end
以下を参考にさせていただきました。