web-dev-qa-db-ja.com

次のポッドは、同じでないSwiftバージョンのないターゲットに統合されています

プロジェクトをSwift 3.に更新しています。ココアポッドの一部をSwift 3に更新すると、ポッドインストールを実行した後、ターミナルに次のメッセージが表示されます。

 Analyzing dependencies
[!] The following pods are integrated into targets that do not have the same Swift version:

- AWSCore required by myApp (Swift 3.0.1), myApptests (Swift 3.0)
- AWSS3 required by myApp (Swift 3.0.1), myApptests (Swift 3.0)
- Alamofire required by myApp (Swift 3.0.1), myApptests (Swift 3.0)

ここには長いスレッドがあります: https://github.com/CocoaPods/CocoaPods/issues/5864 問題について、提案された解決策を試してみましたが、ポッドインストールを実行するとまだ表示されます同じメッセージ。

これが私のポッドファイルです:

enter image description here

与えられたリンクの外では、この問題についてあまり知りませんでした。他の誰かが同じ問題を経験しましたか?解決策はありますか? Xcode 8.1とSwift 3.0.1先週末にインストールしました。

18
joey

Xcode9を使用してSwift3プロジェクトをSwift4プロジェクトに更新したとき、最近の問題を解決しました。問題は次のとおりです:[!] The following pods are integrated into targets that do not have the same Swift version:

Appsee required by MyApp (Swift 4.0), MyAppUnitTest (Swift 3.0) ...すべてのポッド

私の解決策は:Swiftバージョン4.0のメインターゲットMyAppを使用して、UnitTestバージョンを4.0にBuild Settings-> Swift Language Versionに更新しました

38
DariusV

この問題はXcode 9では3.2と4.0の両方をサポートするためさらに悪化しますSwiftバージョンですが、Cocoaポッドはまだこれをサポートしていません:

[!] The following pods are integrated into targets that do not have the same Swift version:
- XCGLogger required by target1 (Swift 4.0), target2 (Swift 3.0)

回避策:target1をSwift 3.2に一時的に切り替え、ココアポッドをインストールしてから、Swift 4.0。

5

私はこのような問題を解決しました:

  1. 私には2つのターゲットがありました。メインプロジェクトとテストターゲットです。
  2. 私の主なプロジェクトのターゲットは、「ビルドの設定で」「レガシーを使用Swift言語バージョン)」を「未指定(3.0)」に設定していました。
  3. 「レガシーを使用Swift言語バージョン」を「いいえ」に設定したところ、問題なく動作しました。
5

xcodeprojファイルを開くと3.2と表示されましたが、git diffを実行すると、project.pbxprojにSwift = 3.0。

テキストエディターを使用してSwift_VERSION変数を手動で3.2に更新すると、不一致が解決されました。

私はこれを最後の手段としてのみお勧めします!

3
RndmTsk

CocoaPodsアプリv.1.1.1の場合、この問題はUse legacy Swift Language Version to Unspecified in Build Settingsすべてのターゲットのセクション。

おそらくそれはアプリのバグです-すべてのターゲットは同じ設定でしたが、CocoaPodsアプリはそのうちの1つだけについて不平を言っています。

[〜#〜] upd [〜#〜]:プロジェクトをコンパイルできるようにするには、プロジェクトをUnspecifiedからNoに戻す必要がありました。

1
slxl

3.0と3.0.1の違いがある1つのターゲットで問題が発生しました

プロジェクトファイル(project.pbxproj)を手動で編集して3.0を変更することで解決しました。 3.0.1;

1