webentwicklung-frage-antwort-db.com.de

die folgenden Pods sind in Ziele integriert, die nicht dieselbe Swift-Version haben

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: 

 enter image description here

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.

17
joey

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 

27
DariusV

Ich habe das Problem so gelöst:

  1. Ich hatte zwei Ziele: das Hauptprojekt und die Testziele.
  2. Das Hauptziel meines Hauptprojekts lautete: "Legacy Swift Language Version verwenden" (in den Build-Einstellungen) bis "Nicht angegeben (3.0)".
  3. Ich habe die 'Use Legacy Swift Language Version' auf 'No' gesetzt und es hat gut funktioniert.
5

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.

4

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!

2
RndmTsk

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.

1
slxl

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; 

1