web-dev-qa-db-de.com

Das Implementierungsziel der Moduldatei ist ios9.0 v9.0 mit XCode 7/Swift 2

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:

 error message in XCode

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. 

 deployment target for the project

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

19
Christian Anton

Gleiches in meinem Fall 

Ausgewählte TARGETS,

dann gehe zu "Build Settings"

Suchen Sie nach "iOS Deployment target" in search bar

Geändert von iOS 8.2 in 9.0 - in allem 

 description

53
ioopl

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:

  1. Wählen Sie im Projektnavigator Pods-Projekt aus
  2. Durchlaufen Sie jeden Pod in TARGETS list und ändern Sie den Deployment Target in die Version, die Sie benötigen
  3. Reinigen und bauen Sie Ihr Projekt

Arbeitete für mich. Schnappschuss von Xcode zeigen

3
roxanneM

Setzen Sie einfach "platform: ios, '8.0'" oder was auch immer Ihre Version ist in Ihr Podfile und es wird gelöst.

2
Paul Berg

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

2
Paul Beusterien

Sie müssen die podspec-Datei auf s.ios.deployment_target = '9.0' aktualisieren.

1

In meinem Fall, wo das importierte Modul von Pod FOO fehlgeschlagen ist, weil Version X benötigt wurde:

  • hauptanwendung/Projekt/Ziele wurden alle auf minimales Implementierungsziel gesetzt> = X [OK]
  • pod FOO selbst hatte in seiner Podspec ein korrektes Mindest-Implementierungsziel von X = [X]
  • ein anderes Pod, BAR, verwendete Pod FOO, und das minimale Implementierungsziel von BAR war weniger als X.

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

0
xaphod

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. 

0