【Xcode】pod install時に発生した「Unable to determine Swift version for the following pods」エラーの対処法

  • 2020年4月1日
  • Mac

昨日に引き続き、CocoaPods で発生したエラーについてです。
今回は、管理しているライブラリのインストール時に発生したエラーの対処法をまとめました。

実際のエラーメッセージは下記の通りです。

[!] Unable to determine Swift version for the following pods:

– `MaterialKit` does not specify a Swift version and none of the targets (`[プロジェクト名]`) integrating it have the `SWIFT_VERSION` attribute set. Please contact the author or set the `SWIFT_VERSION` attribute in at least one of the targets that integrate this pod.
– `PullToRefreshSwift` does not specify a Swift version and none of the targets (`[プロジェクト名]`) integrating it have the `SWIFT_VERSION` attribute set. Please contact the author or set the `SWIFT_VERSION` attribute in at least one of the targets that integrate this pod.
– `RealmSwift` does not specify a Swift version and none of the targets (`[プロジェクト名]`) integrating it have the `SWIFT_VERSION` attribute set. Please contact the author or set the `SWIFT_VERSION` attribute in at least one of the targets that integrate this pod.

翻訳したところ、「次のポッドの Swift バージョンを判別できません」とのことでした。

 

で、対処方法ですが、まず前提として私の環境は一旦 Pods ディレクトリと [プロジェクト名].xcworkspace を削除して、ライブラリを一からインストールし直している状態でした。
この状況で上記のエラーなので、[プロジェクト名].xcworkspace すら作成されないという…。

なので、一旦 Podfile を開き、インストールに問題があったライブラリをコメントアウトします。
私の環境では、MaterialKitPullToRefreshSwiftRealmSwift の3つのライブラリをコメントアウトしました。
なお、Podfile でのコメントアウトをする場合は、文頭に半角シャープ # をつけてください。
上記の作業後、再度 pod install コマンドを実行してください。
そうすると、無事に [プロジェクト名].xcworkspace ファイルが作成されると思いますので、これを Xcode で開きます。

そうしたら、Build Settings で「swift language」と検索します。
すると、下のスクリーンショットのように、「Swift Language Version」という項目がヒットするはずですので、こちらの値を設定してください。

私の環境ではこの項目の設定値が「Unspecified」で未特定になっていたため、CocoaPods でのライブラリインストール時にエラーが発生していたようでした。
なお、念のため TARGETS の設定値だけでなく、PROJECT でも Swift Language Version の値を指定してください。

あとは、一旦 Xcode を閉じて、再度 iTerms などのターミナルアプリで pod install を実行してください。
ライブラリ自体に問題がなければ、この方法でインストールが完了するはずです。

 

以上、pod install コマンド実行時にエラーが発生する時の対処法でした。
ご参考になれば幸いです。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG