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.
無事にビルドできました。
アプリ開発にまだ慣れてないので当たりをつけにくく、原因調査に時間がかかっちゃいます。。。
こればっかりは慣れるしかないですね。