”$ flutter build ios”を実行しエラーになって解決するまで

Flutter開発案件で初のリリースをしようと作業していたときに遭遇したエラーです。

発生状況


$ flutter build ios
Building hoge.dev for device (ios-release)...
Automatically signing iOS for device deployment using specified development team in Xcode project: 5N63A73ZQW

Running Xcode build...

Xcode build done.                                            8.3s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **


Xcode's output:
↳
    Command CompileSwift failed with a nonzero exit code
    Command CompileSwift failed with a nonzero exit code
    While building module 'nanopb' imported from /Users/yusuke/flutter/ios/Pods/GoogleDataTransportCCTSupport/GoogleDataTransportCCTSupport/GDTCCTLibrary/Protogen/nanopb/cct.nanopb.h:22:
    In file included from <module-includes>:1:
    /Users/yusuke/flutter/ios/Pods/Target Support Files/nanopb/nanopb-umbrella.h:13:9: error: double-quoted include "pb.h" in framework header, expected angle-bracketed instead [-Werror,-Wquoted-include-in-framework-header]
    #import "pb.h"
            ^~~~~~
            <pb.h>
 :
 :
 :
Encountered error while building for device.

原因調査

ぼくと同じく初めてアプリ開発をしているエンジニアに確認するとエラーにならず正常にビルドできたのこと。

開発環境による影響ということがわかったので、それを念頭に原因調査します。

ググってみたら同じエラーに遭遇している人を発見したので、この解決方を試してみます。

iOS build error – fatal error: could not build module ‘nanopb’

解決した方法

インストールされているcocoapodのバージョンを確認します。


$ pod --version
1.9.3

バージョンが古いようなのでアップデートします。


$ sudo gem install cocoapods --pre

flutter cleanを実行し、再度flutter build iosを確認してみます。


$ flutter clean
Cleaning Xcode workspace...                                         3.9s
Deleting build...                                                   60ms
Deleting .dart_tool...                                               0ms
Deleting Generated.xcconfig...                                       0ms
Deleting flutter_export_environment.sh...                            0ms

$ flutter build ios
Running "flutter pub get" in hoge...                        0.6s
Building hoge.dev for device (ios-release)...
Automatically signing iOS for device deployment using specified development team in Xcode project: 5N63A73ZQW
Running pod install...                                              5.5s

Running Xcode build...

 └─Compiling, linking and signing...
  134.8s (!)
Xcode build done.                                           241.4s
Built /Users/yusuke/flutter/build/ios/iphoneos/Runner.app.

無事にビルドできました。

アプリ開発にまだ慣れてないので当たりをつけにくく、原因調査に時間がかかっちゃいます。。。

こればっかりは慣れるしかないですね。

ABOUTこの記事をかいた人

Yusuke Ito

■バックエンド開発(TypeScript、PHP etc)をメインに活動し、2020年からFlutterによるアプリ開発案件に参画し、多様なニーズに応えれるエンジニアを目指す。 ■エンジニア目線でより良い提案、目的に合わせた仕様の提案が得意です。 ■Flutterに関する技術、個人アプリの開発、キャリア、書評をメインに発信しています。 ■筋トレ、ゴルフ、読書が趣味