2015-09-21 12 views
17

Ho un progetto che utilizza alcuni moduli che ho installato tramite cocoapods. Uno di questi è Grafici (https://github.com/danielgindi/ios-charts). Per migrare il mio progetto da Swift 1.2 a Swift 2 ho seguito la procedura guidata che si apre quando si apre il progetto con XCode 7. Il modulo Charts è già disponibile per Swift 2, e ho cambiato il mio Podfile per contenere quanto segue al fine di effettuare l'aggiornamento a questa più recente e non ancora ufficialmente rilasciato la versione:L'obiettivo di distribuzione del file del modulo è ios9.0 v9.0 con XCode 7/Swift 2

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

Ora il lavoro del progetto si apre bene in XCode tranne uno messaggio di errore che non riesco a liberarmi di me stesso, e non riesco a trovare alcuna informazioni utili nel web:

error message in XCode

Nel punto in cui importa il modulo "Grafici", viene visualizzato il messaggio di errore sopra indicato. Innanzitutto, mi sono assicurato che l'intero progetto fosse impostato per la distribuzione come target IOS 9.0 com'era prima 8.0. Prodotto

deployment target for the project

Dato che questo non ha risolto il problema, ho fatto -> Clean, Prodotto -> Cartella Clean Costruire e infine cancellato il contenuto della cartella "Derived Data". Ho anche riavviato XCode dopo tutti questi passaggi ma l'errore appare ancora.

Qualcuno ha idea di cosa avrei potuto perdere? Grazie mille!

Christian

+1

Dis si imposta anche il target di sviluppo del target su iOS 9? – Loegic

+0

Dove si ottiene la libreria, dal messaggio di errore, sembra che la libreria sia in bundle su iOS9. Potresti provare ad ottenere il codice sorgente e compilarlo per il target iOS 8 – Wingzero

risposta

44

Lo stesso, nel mio caso

Selected TARGETS,

poi andare a "Build Settings"

Cerca "iOS Deployment target” in search bar

cambiato da iOS 8.2 a 9.0 - in tutta

description

+3

Ci ho messo un po 'a trovare' TARGETS'. Mostra Project Navigator, fai clic su Project Name, quindi puoi vedere 'Build Settings', dopo aver cercato' Target di distribuzione iOS', potresti dover fare clic su 'All'. – paragbaxi

+0

Grazie. Avevo modificato il valore iOS di distribuzione generica del progetto, ma questo non si è propagato a ciascun target. –

+2

Grazie mille, ha corretto il mio errore! – TDM

2

Nel caso in cui si deve supportare le versioni precedenti e non si ha la possibilità di aggiornare solo la destinazione di distribuzione del progetto alla versione richiesta, provare downgrade in un baccello sé:

  1. Selezionare Pods progetto in project Navigator
  2. passare attraverso ogni pod in TARGETS lista e cambiare la sua Deployment Target alla versione è necessario
  3. Pulisci e crea il tuo progetto

Ha funzionato per me. show snapshot from Xcode

0

Basta mettere "piattaforma: ios, '8.0'" o qualunque sia la tua versione nel tuo Podfile e sarà risolta.

1

è necessario aggiornare il file di podspec s.ios.deployment_target = '9.0'

+0

hai ragione! Grazie!! ^^ – cactis

0

Per me, spazzando via DerivedData risolto il problema. Sembra che clean non cancelli i file swiftmodule.

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

0

Nel mio caso, in cui il modulo importato di Pod FOO stava fallendo perché aveva bisogno di versione X:

  • principale app/project/target erano tutti impostati su target di implementazione minimo> = X [OK]
  • pod FOO aveva corretto> = X target di implementazione minima nel suo podspec [OK]
  • un'altra pod, BAR, stava usando pod FOO e destinazione di distribuzione minima del bar era meno di X. [FISSO: podspec modifica della BAR e aumentare la destinazione di distribuzione min per almeno X]

tl; dr; potrebbe essere che stai usando il pod 1 che sta usando un altro pod 2; il problema è nel podspec di pod 1

0

Devi andare ai pod, e per ogni target al suo interno, imposta lo stesso obiettivo di sviluppo come fai per il progetto principale, pulisci e ricomponi.

Problemi correlati