Flutter: 'Pods_Runner.framework' is missing one or more architectures required by this target: armv7のエラー
結論:flutter clean→pub getボタン→pod installを実行
2022/5/28 Flutter エラー・バグ日記
App Store Connectにアップロードするために「Runner.app」を作ろうとしたら発生。
振り返ると、過去何度も遭遇していたので、忘れないように記録。
App Store Connectへのアップロードファイルをつくるには、ターミナルから
flutter build ios --release
を実行して、「Runner.app」を作り、次に、Xcodeで、
「Product」→「Archive」
で「Archive」を作る必要があるが(※後述)、上記コマンドを打った時点で、以下のエラーが発生。
Target Integrity (Xcode): The linked framework 'Pods_Runner.framework' is missing one or more architectures required by this target: armv7.
/Users/#######/xxxxプロジェクト名xxxx/ios/Runner.xcodeproj
Encountered error while building for device.
「'Pods_Runner.framework'」に必要な「armv7」が無いぞ、ということらしい。
ちなみに、自分のXcodeで、「Runner」→「Build Settings」→「All」タブを開いて確認すると、「Architectures」セクションの「Architectures」には、「Standard Architectures (arms64, armv7)」が、「Excluded Architectures」には、「Debug」、「Profile」、「Release」のいずれにも「arm64」が設定されていた。
自分の過去のエラー対応記録を確認すると、既に何度も同じエラーに遭遇しており、
ターミナルで「flutter clean」
→「pubspec.yaml」ファイルの右上の「pub get」ボタン ※Android Studioの場合
→ターミナルでiosフォルダに移動して「pod install」
で解決していたので、今回もやってみると、やはりエラーは解消した。
ただ、毎回この対処法で合っているのか、気になったので、ネットで調べてみると、下記サイトでは、「flutter clean」もしくはFlutterのバージョンアップで解決した、と書かれていた(M1 Macの場合は別の対処法も書かれているようだが、、)。
なので、原理はよくわからないが、基本的には今までの対応で、間違ってはいない模様。
(※)ちなみに、現在のFlutterの公式サイトでは、上記「flutter build ios」のコマンドの説明が無くなっており、以下のコマンドを使用するようになっている。
flutter build ipa --export-options-plist=path/to/ExportOptions.plist.
上記コマンドを使えば、「Runner.app」作成 → 「Archive」作成 という2段階を経ず、一発で「Archive」まで作成できるらしい。
こちらの記事に教えていただいた。
旧来の2段階方式でも問題なく実行できたので、どちらの方法でもよさそうだが、確かに新しい方法の方が便利そうなので、次回アップロード時は試してみよう。
\一般的なエラー対処法をまとめた記事はこちら/
リリースしたアプリ(全てFlutterで開発)
個人アプリ開発で役立ったもの
おすすめの学習教材
\超初心者向けでオススメな元Udemyの講座/
\キャンペーン時を狙えば安価で網羅的な内容が学べる(日本語訳あり)/
\Gitの基礎について無料で学べる/
おすすめの学習書籍
\実用的。image_pickerに関してかなり助けられた/
\Dartの基礎文法を素早くインプットできる/