Ich habe ein Projekt mit einigen Modulen, die ich über Cocoapods installiert habe. Eines davon ist Charts ( https://github.com/danielgindi/ios-charts ). Um mein Projekt von Swift 1.2 nach Swift 2 zu migrieren, habe ich den Assistenten durchlaufen, der beim ersten Öffnen des Projekts mit XCode 7 angezeigt wird. Das Charts-Modul ist bereits für Swift 2 verfügbar Um auf diese neuere und noch nicht offiziell freigegebene Version zu aktualisieren:
pod 'Charts', :git => 'https://github.com/danielgindi/ios-charts.git'
Nun wird der Projektarbeitsbereich in XCode problemlos geöffnet, mit einer Ausnahme, dass ich mich nicht loswerden kann und keine hilfreichen Informationen im Web finden kann:
An der Stelle, an der ich mein "Charts" -Modul importiere, erscheint die oben genannte Fehlermeldung. Zunächst stellte ich sicher, dass das gesamte Projekt als Implementierungsziel IOS 9.0 festgelegt ist, da es zuvor 8.0 war.
Da das Problem dadurch nicht gelöst wurde, habe ich den Ordner "Product -> Clean, Product -> Clean Build" ausgeführt und den Inhalt des abgeleiteten Datenblatts gelöscht. Ich habe XCode nach all diesen Schritten neu gestartet, aber der Fehler wird immer noch angezeigt.
Hat jemand eine Ahnung, was ich hätte vermissen können? Vielen Dank!
Christian
Falls Sie ältere Versionen unterstützen müssen und nicht die Möglichkeit haben, das Implementierungsziel Ihres Projekts einfach auf die erforderliche Version zu aktualisieren, versuchen Sie es in einem Pod selbst herunterzustufen:
Pods
-Projekt ausTARGETS
list und ändern Sie den Deployment Target
in die Version, die Sie benötigenArbeitete für mich. Schnappschuss von Xcode zeigen
Setzen Sie einfach "platform: ios, '8.0'" oder was auch immer Ihre Version ist in Ihr Podfile und es wird gelöst.
Durch das Auslöschen von DerivedData wurde das Problem behoben. Es scheint, dass clean keine swiftmodule-Dateien löscht.
rm -rf ~/Library/Entwickler/Xcode/DerivedData
Sie müssen die podspec-Datei auf s.ios.deployment_target = '9.0'
aktualisieren.
In meinem Fall, wo das importierte Modul von Pod FOO fehlgeschlagen ist, weil Version X benötigt wurde:
tl; dr; Es könnte sein, dass Sie Pod 1 verwenden, der eine andere Pod 2 verwendet. Das Problem liegt in Pod 1 von Pod 1
Sie müssen zu den Pods gehen und für jedes Ziel innerhalb dieses Ziels dasselbe Entwicklungsziel wie für das Hauptprojekt festlegen, bereinigen und erneut erstellen.