2015-09-21 8 views
17

Ich habe ein Projekt mit einigen Modulen, die ich über cocoapods installiert habe. Einer von ihnen 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 auftaucht. Das Diagrammmodul ist bereits für Swift 2 verfügbar, und ich habe meine Poddatei geändert, um Folgendes zu enthalten um auf diese neuere und noch nicht offiziell freigegebene Version zu aktualisieren:Implementierungsziel der Moduldatei ist ios9.0 v9.0 mit XCode 7/Swift 2

pod 'Charts', :git => 'https://github.com/danielgindi/ios-charts.git'

Jetzt ist die Projektarbeitsbereich öffnet sich fein in XCode mit einer Ausnahme Fehlermeldung, die ich von mir bekommen kann nicht loswerden, und ich kann keine finden hilfreiche Informationen im Web:

error message in XCode

An der Stelle, an der ich mein "Charts" Modul importiere, erscheint die oben genannte Fehlermeldung. Zuerst stellte ich sicher, dass das gesamte Projekt auf das Ziel IOS 9.0 gestellt wurde, wie es zuvor 8.0 war.

deployment target for the project

Da dies nicht das Problem gelöst haben, ich habe Artikel getan -> Sauber, Produkt -> bereinigter Build-Ordner und gelöschte schließlich die „Abgeleitete Daten“ Inhalt des Ordners. Ich habe auch XCode nach all diesen Schritten neu gestartet, aber der Fehler erscheint immer noch.

Hat jemand eine Ahnung, was ich verpasst haben könnte? Vielen Dank!

Christian

+1

Setzen Sie das Entwicklungsziel des Ziels auch auf iOS 9? – Loegic

+0

Wo erhalten Sie die Bibliothek, scheint von der Fehlermeldung, wie die Bibliothek auf iOS9 gebündelt ist. Könnten Sie versuchen, den Quellcode zu bekommen und kompilieren Sie es für das Ziel iOS 8 – Wingzero

Antwort

44

Same, in meinem Fall

TARGETS Ausgewählte,

dann gehen Sie auf "Build Settings"

Suche nach "iOS Deployment target“ in search bar

Changed es von iOS 8.2 bis 9.0 - in allen

description

+3

Nahm mich eine Weile, um 'TARGETS zu finden. Zeige Project Navigator, klicke auf Project Name, dann kannst du 'Build Settings' sehen, nach der Suche nach' iOS Deployment target' musst du auf 'All' klicken. – paragbaxi

+0

Danke. Ich hatte den generischen Projekteinsatz iOS-Wert geändert, aber das hat sich nicht auf jedes Ziel propagiert –

+2

Vielen Dank, dass mein Fehler behoben! – TDM

2

Falls Sie ältere Versionen zu unterstützen und Sie haben nicht die Möglichkeit, nur das Implementierungsziel Ihres Projekt erforderliche Version zu aktualisieren, versuchen Sie es in einer Schote Herabstufung selbst:

  1. Wählen Pods Projekt im Projekt Navigator
  2. Gehen Sie durch jede Schote in TARGETS Liste und ihre Deployment Target auf die Sie Version ändern
  3. benötigen
  4. Reinigen und bauen Sie Ihr Projekt

Arbeitete für mich. show snapshot from Xcode

0

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

1

Sie haben podspec Datei zu s.ios.deployment_target = '9.0'

+0

Sie haben Recht! Vielen Dank!! ^^ – cactis

0

für mich zu aktualisieren, Auswischen DerivedData das Problem behoben. Es scheint, dass Clean Swipe-Modul-Dateien nicht löscht.

rm -rf ~/Library/Developer/Xcode/DerivedData

0

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

  • Haupt app/project/targets wurden alle auf das minimale Bereitstellungsziel gesetzt> = X [OK]
  • pod FOO selbst hatte das richtige> = X minimale Einsatzziel in seiner podspec [OK]
  • eine andere pod, BAR, wurde pod FOO verwenden und minimalen Implementierungsziel des BAR war weniger als X. [FIXED: podspec der Bearbeitungsleiste und min Implementierungsziel auf mindestens X erhöhen]

tl; dr; Es könnte sein, dass Sie Pod 1 verwenden, das einen anderen Pod 2 verwendet; Das Problem ist in podspec

0

Sie müssen zu Pods gehen, und für jedes Ziel darin, setzen Sie das gleiche Entwicklungsziel wie Sie für das Hauptprojekt, reinigen und bauen Sie wieder.