firestoreに依存している状態でarchiveしようとするとエラーになります。
原因はこれです。
firestoreが依存しているgRPC-RxLibraryに問題があり、これは修正されているようです。
が、まだ2018/6/20時点では古いバージョンを参照しています。
なので対応版が出るまでは以下のように対応しましょう。
方法1
Poffileで、install時の処理で、Allow Non-modular includes in Framework ModulesをYESにします。
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES'] = 'YES'
end
end
end
方法2
もしくは、CI環境で以下のようなshellを呼び出す方法もあります。
gRPC-RxLibrary_bugfix.sh
#!/bin/bash -l
set -eux
: usage
: sh -x gRPC-RxLibrary_bugfix.sh ~/Sources/sample-project
: $1
workspace=$1
cat $workspace/ios/Pods/Target\ Support\ Files/gRPC-RxLibrary/gRPC-RxLibrary-umbrella.h | sed -e 's:\#import "transformations/GRXMappingWriter.h"::g' > $workspace/ios/Pods/Target\ Support\ Files/gRPC-RxLibrary/gRPC-RxLibrary-umbrella.h-temp
rm -rf $workspace/ios/Pods/Target\ Support\ Files/gRPC-RxLibrary/gRPC-RxLibrary-umbrella.h
mv $workspace/ios/Pods/Target\ Support\ Files/gRPC-RxLibrary/gRPC-RxLibrary-umbrella.h-temp $workspace/ios/Pods/Target\ Support\ Files/gRPC-RxLibrary/gRPC-RxLibrary-umbrella.h
fastlaneを使っている場合は、buildするときのlaneで以下のようにすればいいでしょう。
cocoapods(use_bundle_exec: true)
sh "./shell/gRPC-RxLibrary_bugfix.sh #{workspace}"