5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

iOSのビルド時に"warning: double-quoted include"が出るときの対処法(Cocoapods 1.9.3)

Last updated at Posted at 2020-10-19

FlutterをiOSでビルドしようとしたとき、エラーが出た。
とりあえず現時点(2020/10/19)での解決法をメモしておく。

初期環境

  • Xcode 12.1
  • Cocoapods 1.9.3
  • Dart 2.10.0
  • Flutter 1.22.0
  • Bundler 2.1.4

以下エラー。

Xcode build done.                                           115.3s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **
Xcode's output:
↳
    In file included from /Users/travis/build/Cookbiz/wakumin-app/ios/Pods/Protobuf/objectivec/GPBWrappers.pbobjc.m:11:
    /Users/travis/build/Cookbiz/wakumin-app/ios/Pods/Protobuf/objectivec/GPBProtocolBuffers_RuntimeSupport.h:34:9: warning: double-quoted include "GPBBootstrap.h" in framework header, expected angle-bracketed instead [-Wquoted-include-in-framework-header]
    #import "GPBBootstrap.h"
            ^~~~~~~~~~~~~~~~
            <GPBBootstrap.h>
    /Users/travis/build/Cookbiz/wakumin-app/ios/Pods/Protobuf/objectivec/GPBProtocolBuffers_RuntimeSupport.h:36:9: warning: double-quoted include "GPBDescriptor_PackagePrivate.h" in framework header, expected angle-bracketed instead [-Wquoted-include-in-framework-header]
    #import "GPBDescriptor_PackagePrivate.h"
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            <GPBDescriptor_PackagePrivate.h>
    In file included from /Users/travis/build/Cookbiz/wakumin-app/ios/Pods/Protobuf/objectivec/GPBWrappers.pbobjc.m:11:
    In file included from /Users/travis/build/Cookbiz/wakumin-app/ios/Pods/Protobuf/objectivec/GPBProtocolBuffers_RuntimeSupport.h:36:
    /Users/travis/build/Cookbiz/wakumin-app/ios/Pods/Protobuf/objectivec/GPBDescriptor_PackagePrivate.h:35:9: warning: double-quoted include "GPBDescriptor.h" in framework header, expected angle-bracketed instead [-Wquoted-include-in-framework-header]
    #import "GPBDescriptor.h"
            ^~~~~~~~~~~~~~~~~
            <GPBDescriptor.h>
    In file included from /Users/travis/build/Cookbiz/wakumin-app/ios/Pods/Protobuf/objectivec/GPBWrappers.pbobjc.m:11:
    In file included from /Users/travis/build/Cookbiz/wakumin-app/ios/Pods/Protobuf/objectivec/GPBProtocolBuffers_RuntimeSupport.h:36:
    In file included from /Users/travis/build/Cookbiz/wakumin-app/ios/Pods/Protobuf/objectivec/GPBDescriptor_PackagePrivate.h:35:
    /Users/travis/build/Cookbiz/wakumin-app/ios/Pods/Protobuf/objectivec/GPBDescriptor.h:33:9: warning: double-quoted include "GPBRuntimeTypes.h" in framework header, expected angle-bracketed instead [-Wquoted-include-in-framework-header]
    #import "GPBRuntimeTypes.h"
            ^~~~~~~~~~~~~~~~~~~
            <GPBRuntimeTypes.h>
    In file included from /Users/travis/build/Cookbiz/wakumin-app/ios/Pods/Protobuf/objectivec/GPBWrappers.pbobjc.m:11:
    In file included from /Users/travis/build/Cookbiz/wakumin-app/ios/Pods/Protobuf/objectivec/GPBProtocolBuffers_RuntimeSupport.h:36:
    In file included from /Users/travis/build/Cookbiz/wakumin-app/ios/Pods/Protobuf/objectivec/GPBDescriptor_PackagePrivate.h:35:
    In file included from /Users/travis/build/Cookbiz/wakumin-app/ios/Pods/Protobuf/objectivec/GPBDescriptor.h:33:

どうも、Xcode12からはimportにdouble-quoteは使えなくなった様。
https://developer.apple.com/forums/thread/651941

ただ、ライブラリ側が対応できていないものが多いので、Xcode上で無効にする。
https://developer.apple.com/forums/thread/651941?answerId=617655022#617655022

スクリーンショット 2020-10-19 15.50.23.png

この後、AndroidStudioでiOS向けにビルドすると、再度エラーが起こったので File -> Invalidate Caches / Restart ... でAndroidStudioを再起動した。

CI上での設定

ローカルでビルドすることはできたが、CI上でビルドしようとすると同様のエラーが発生した。

CIを使うときは、Preview版のCocoapodsを使うとできたぞと書かれていたので設定する。

If you're getting this locally, upgrade CocoaPods. If your CI is getting this error, force the CocoaPods version to 1.10.0.rc.1.

// 前略
      before_install:
        - gem uninstall -ax cocoapods             # <- 追加
        - gem install cocoapods -v 1.10.0.rc.1    # <- 追加
        - bundle install
        - npm install -g firebase-tools
// 後略

ビルドできなかった。

Xcode build done.                                           113.7s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **
Xcode's output:
↳
    error: the following command failed with exit code 0 but produced no further output
    CompileC /Users/travis/Library/Developer/Xcode/DerivedData/Runner-hdibzqvbombrjjhkjascueuffcef/Build/Intermediates.noindex/Pods.build/Release-Develop-iphoneos/Protobuf.build/Objects-normal/armv7/GPBWrappers.pbobjc.o /Users/travis/build/Cookbiz/wakumin-app/ios/Pods/Protobuf/objectivec/GPBWrappers.pbobjc.m normal armv7 objective-c com.apple.compilers.llvm.clang.1_0.compiler

cocoapodsのバージョンを上げたのになぁと思って、上の方を見ると、、、

$ bundle install
Fetching gem metadata from https://rubygems.org/........

...中略...

Fetching cocoapods 1.9.3
Installing cocoapods 1.9.3
Using colored 1.2

あー・・・・・・。bundleか・・・・・・。
このプロジェクトはfastlaneを使っていて、bundle install をしているのでした。
ビルドに使われるpodは多分こっちになったのかな。

ということで、

source "https://rubygems.org"

gem "fastlane"
gem 'cocoapods', "1.10.0.rc.1"  <= ここを指定

plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile')
eval_gemfile(plugins_path) if File.exist?(plugins_path)

としてもう一度走らせると、、、

Running pod install...                                            214.8s (!)
Running Xcode build...                                          
 └─Compiling, linking and signing...                        60.2s
Xcode build done.                                           561.4s

無事CIビルドができた :tada: :tada:

<追記>
cocoapods 1.10.0が出ているので、gemを修正。

source "https://rubygems.org"

gem "fastlane"
gem 'cocoapods', "1.10.0"  <= ここを指定

plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile')
eval_gemfile(plugins_path) if File.exist?(plugins_path)

補記

それはそうとこのビルド時間なんとかならないのか・・・・・・。
FlutterビルドとFastlaneビルド合わせて25分くらいビルドしている・・・・・。

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?