プロジェクトを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 問題について、提案された解決策を試してみましたが、ポッドインストールを実行するとまだ表示されます同じメッセージ。
これが私のポッドファイルです:
与えられたリンクの外では、この問題についてあまり知りませんでした。他の誰かが同じ問題を経験しましたか?解決策はありますか? Xcode 8.1とSwift 3.0.1先週末にインストールしました。
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
に更新しました
この問題は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。
私はこのような問題を解決しました:
xcodeproj
ファイルを開くと3.2
と表示されましたが、git diff
を実行すると、project.pbxproj
にSwift = 3.0。
テキストエディターを使用してSwift_VERSION
変数を手動で3.2
に更新すると、不一致が解決されました。
私はこれを最後の手段としてのみお勧めします!
CocoaPodsアプリv.1.1.1の場合、この問題はUse legacy Swift Language Version
to Unspecified
in Build Settings
すべてのターゲットのセクション。
おそらくそれはアプリのバグです-すべてのターゲットは同じ設定でしたが、CocoaPodsアプリはそのうちの1つだけについて不平を言っています。
[〜#〜] upd [〜#〜]:プロジェクトをコンパイルできるようにするには、プロジェクトをUnspecified
からNo
に戻す必要がありました。
3.0と3.0.1の違いがある1つのターゲットで問題が発生しました
プロジェクトファイル(project.pbxproj)を手動で編集して3.0を変更することで解決しました。 3.0.1;