bundler
を使って fastlane
や cocoapods
を管理しており、
bundle install --path vendor/bundle
というコマンドを叩いて、 プロジェクトルートの vendor
配下にgemが入るようになっています。
この状態で、ビルドしようと思うとエラーが40件...。なんでや...。
原因をさがす...
エラーファイルを見てみると、ファイル上部の署名に「fastlane」と書いてあるのを発見しました。どうやら、fastlane内部にもswiftファイルが含まれており、それに対してswiftlintがエラーを吐いている様子
どうした
.swiftlint.yml
のlint対象外に vendor
を追加した。
.swiftlint.yml
excluded:
- Carthage
- Pods
- R.generated.swift
- vendor
# swiftlintがfastlaneのswiftコードを見に行ってしまうので、vendorをlint対象外としている。
対策
swiftlintはpbxprojに含まれているものだけじゃなく、プロジェクトディレクトリ全てを精査するようなので、この挙動だけ忘れないようにしよう。