【Flutter】 エラー:for iOS Simulator, but linking in dylib built for iOS, “xxx” for architecture arm64

Flutter

今回は、FlutterからiOS Simulatorで実行する際に発生するエラー、「building for iOS Simulator, but linking in dylib built for iOS, “xxx” for architecture arm64」の解決方法を紹介します。

M1のMacを使用されている方に発生しているエラーのようです。該当される方は是非参考にしてみてください。

スポンサーリンク

arm64とは

エラー文に記述されている「arm64」とはCPUの基本設計の一つです。CPUを形作る形式には色々と種類があり、その中の一つが「arm64」です。

その他には、「x86」や「x64」などが有名ですね。

「arm64」はイギリスのArm社が、先述の「x86/x64」はアメリカのIntel社が開発、設計しています。

ここでMacのM1の話にも触れておくと、こちらのデバイスからMacはIntel製のチップではなく、Apple独自のApple Silicon(通称M1)を内蔵するようになっています。

こちらのM1チップarmアーキテクチャを使用して設計したチップです。それに伴い、今回のエラーが発生しているということにつながります。

CPUのアーキテクチャに関する記事は色々あります。以下の記事なども勉強になるかと思いますので、興味があればご覧ください。

ARM64とは - IT用語辞典
ARM64とは、英アーム(Arm)社が開発したマイクロプロセッサ(MPU/CPU)の基本設計(アーキテクチャ)の一つで、プログラムやデータを64ビット単位で処理するためのもの。ARMv8以降に採用されている。従来のARMアーキテクチャ(AArch32)では、プロセッサ内の記憶装置であるレジスタのサイズや外部と一度にやり...

「building for iOS Simulator, but linking in dylib built for iOS, “xxx” for architecture arm64」解決方法

今回のエラーを解決するためには「Podfile」の内容を修正する必要があります。

「ios」ディレクトリの中にある「Podfile」を開いてください。

Podfileを一度も修正したことがない人は、その中の一番下にこのような記述があるかと思います。

post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
  end
end

こちらの中に以下の記述を加えます。

installer.pods_project.build_configurations.each do |config|
    config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
end

こちらの記述を加えた結果は以下です。

post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
  end
//ここから追加
  installer.pods_project.build_configurations.each do |config|
    config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
  end
//ここまで
end

こうすることでM1チップで利用されている「arm64」を用いた実行を行うことができます。

おわりに

今回は、FlutterからiOS Simulatorで実行する際に発生するエラー、「building for iOS Simulator, but linking in dylib built for iOS, “xxx” for architecture arm64」の解決方法を紹介させて頂きました。

今までのMacではうまく動作していたけどM1搭載のMacに変えた途端うまく動作しなくなった方などは、今回の方法で解決できるかと思います。

当ブログではプログラミング学習に関する記事を執筆しております。他にもFlutterに関する記事を用意しておりますのでぜひ合わせてご覧ください。

Flutter記事まとめ
FlutterとDartの学習に関する記事をまとめております。Dartの文法に関する記事やFlutterのWidgetの活用、エラーの解決方法などFlutterに関する記事を執筆しております。

最後まで読んでくださりありがとうございました。

コメント

タイトルとURLをコピーしました