概要
新しい iOS プロジェクトを作成中に SwiftLint で、以下のような WARNING が発生した。
SwiftLint Error: The file “.swiftlint.yml” couldn’t be opened because you don’t have permission to view it. – Falling back to default configuration
簡単に説明すると、「.swift.yml
を開くことができないよ」って話。
Xcode の Build Phases が Lint ファイルを見つけることができないので、WARNING を出している。
開発環境
- Xcode15
- swiftlint 0.55.1
原因の解説
Xcode14 ではビルドシステムに ENABLE_USER_SCRIPT_SANDBOXING
を追加しました。これは、script phases がソースファイルまたは中間ビルドオブジェクトにアクセスするのをブロックするかどうかをビルドシステムに指示する新しいフラグです。
Xcode14 ではこのフラグは NO に設定されていました。しかし、Xcode15 からこのフラグは YES に設定され、スクリプトファイルにアクセスできません。
この問題の解決方法
ENABLE_USER_SCRIPT_SANDBOXING
を YES にするとこの問題は解決します。
- プロジェクトの設定を開く
- ターゲットを開く
-
Build Settings
を選択 -
ENABLE_USER_SCRIPT_SANDBOXING
を検索 -
User Script Sandboxing
を NO に変更
これで問題を解決することができます。
しかし、User Script Sandboxing
の値を変更するのは回避策であり、Apple 的には推奨されていません。
補足
SwiftLint の README にもこの内容は記述されています。
詳細や最新情報はこちらを読むことをオススメします。
参考文献