Reputation: 4503
I am updating my project to Swift 3. When updating some of my cocoapods to swift 3, I receive the following message in terminal, after running pod install:
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)
There is a lengthy thread here: https://github.com/CocoaPods/CocoaPods/issues/5864 about the issue, and I tried the proposed solution, but when I run pod install, i still get the same message.
Here is my pod file:
outside the one given link i haven't found much on this issue. Anyone else experienced the same problem? Any solutions? I just installed Xcode 8.1 and Swift 3.0.1 last weekend.
Upvotes: 21
Views: 10143
Reputation: 2773
I just solved a recent issue when I updated my swift3 project to swift4 one with Xcode9, the problem said:
[!] 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)
...Allpods
My solution was:
With my main target MyApp
with the swift version at 4.0, I also updated my UnitTest version to 4.0 into Build Settings
--> Swift Language Version
Upvotes: 41
Reputation: 1724
When I opened my xcodeproj
file it displayed 3.2
, but when I ran git diff
, I noticed that the project.pbxproj
had everything as Swift 3.0.
Manually updating the SWIFT_VERSION
variables to 3.2
with a text editor solved the discrepancy.
I recommend this as a last resort only!
Upvotes: 4
Reputation: 13053
This problem gets worse with Xcode 9
since it supports both 3.2 and 4.0 swift versions, but Cocoa Pods doesn't support this yet:
[!] 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)
Workaround: switch target1 to swift 3.2 temporarily, install cocoa pods, then switch it back to swift 4.0.
Upvotes: 6
Reputation: 7806
I had the problem with one target with a difference from 3.0 to 3.0.1
I solved it by manually editing the project file (project.pbxproj) and change 3.0; with 3.0.1;
Upvotes: 1
Reputation: 689
For CocoaPods App v.1.1.1 this problem was solved by setting Use legacy Swift Language Version
to Unspecified
in Build Settings
section for all targets.
Probably it's an app bug - all targets had the same settings but CocoaPods app complaining only about one of them.
UPD: to be able to compile project I had to change it back from Unspecified
to No
Upvotes: 1
Reputation: 1987
I have solved the problem like this:
Upvotes: 5