Ich aktualisiere mein Projekt auf Swift 3. Wenn Sie einige meiner Kokosapods auf Swift 3 aktualisieren, erhalte ich nach der Installation der Pod-Installation die folgende Meldung im Terminal:
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)
Hier ist ein langwieriger Thread: https://github.com/CocoaPods/CocoaPods/issues/5864 über das Problem, und ich habe die vorgeschlagene Lösung ausprobiert, aber wenn ich pod install starte, erhalte ich immer noch dieselbe Meldung .
Hier ist meine Pod-Datei:
außerhalb dieses Links habe ich nicht viel zu diesem Thema gefunden. Hat noch jemand das gleiche Problem erlebt? Irgendwelche Lösungen? Ich habe vor kurzem Xcode 8.1 und Swift 3.0.1 installiert.
Ich weiß, dass dieser Beitrag alt ist, aber ich habe gerade ein kürzlich gelöstes Problem gelöst, als ich mein Swift3-Projekt mit Xcode9 auf Swift4 aktualisiert hatte. Das Problem sagte: [!] 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
Meine Lösung war: Mit meinem Hauptziel MyApp
mit der Swift-Version 4.0 habe ich auch meine UnitTest-Version auf 4.0 aktualisiert: Build Settings
-> Swift Language Version
Ich habe das Problem so gelöst:
Dieses Problem verschärft sich mit Xcode 9
, da es sowohl die Swift-Versionen 3.2 als auch 4.0 unterstützt. Cocoa Pods unterstützt dies jedoch noch nicht:
[!] 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)
Umgehung: Wechseln Sie target1 vorübergehend auf Swift 3.2, installieren Sie Kakaopads und schalten Sie es wieder auf Swift 4.0 um.
Als ich meine xcodeproj
-Datei öffnete, wurde 3.2
angezeigt. Als ich git diff
lief, fiel mir auf, dass der project.pbxproj
alles wie Swift 3.0 hatte.
Durch das manuelle Aktualisieren der Swift_VERSION
-Variablen mit einem Texteditor auf 3.2
wurde die Diskrepanz behoben.
Ich empfehle das nur als letzten Ausweg!
Für CocoaPods App v.1.1.1 wurde dieses Problem gelöst, indem für alle Ziele Use legacy Swift Language Version
auf Unspecified
im Abschnitt Build Settings
festgelegt wurde.
Wahrscheinlich handelt es sich um einen App-Fehler - alle Ziele hatten die gleichen Einstellungen, aber die CocoaPods-App beschwert sich nur über eine davon.
UPD: Um ein Projekt kompilieren zu können, musste ich es wieder von Unspecified
in No
ändern.
Ich hatte das Problem mit einem Ziel mit einem Unterschied von 3.0 zu 3.0.1
Ich habe es gelöst, indem ich die Projektdatei (project.pbxproj) manuell editierte und 3.0 ändere; mit 3.0.1;