環境
- MacOS Sonoma 14.3
- Xcode Version 15.2
- SPM経由でSwiftlintを導入
今回遭遇したこと
図のようにThe package product '〇〇' requires minimum platform version XX.X for the iOS platform, but this target supports YY.Yというエラーがめちゃくちゃ出てきました。
minimum Deploymentsは15.0以上に設定しているのに何故?
回避策
以下2つ紹介。
-
Target -> FrameWorks, Libraries, and Embedded Content
にSwiftlintFrameWorks
があるはずなので削除する
- 導入時SPM(Swift Package Manager)で導入するとき
SwiftlintFrameWorks
をNoneのままにする!
まとめ
SwiftlintFrameWorks
が悪さをしていると考えられます。
import Swiftlint
のような使い方をするときにこのSwiftlintFrameWorks
が必要そうです。Swiftlintはimportして使うことは基本的にありませんので、チェックを入れなくてもいいわけです。
では何故、Swiftlintにこのチェックがあるのかですが、おそらく「便宜的にライブラリ配布なら作らなきゃいけない」という可能性があります。また、こちらのように、Swiftlint自体のプログラムに対して処理を記述する際のために用意されているものである可能性があります。
用途に合わせて、このエラーが出たらSwiftlintFrameWorks
を疑ってみてください。