web-dev-qa-db-fra.com

La cible de déploiement du fichier de module est ios9.0 v9.0 avec XCode 7/Swift 2.

J'ai un projet utilisant des modules que j'ai installés via des cocoapodes. L'un d'entre eux est Charts ( https://github.com/danielgindi/ios-charts ). Pour migrer mon projet de Swift 1.2 à Swift 2, j'ai suivi l'assistant qui apparaît lors de la première ouverture du projet avec XCode 7. Le module Charts est déjà disponible pour Swift 2 et j'ai modifié mon fichier podfile pour qu'il contienne afin de passer à cette version plus récente et pas encore officiellement publiée:

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

Maintenant, l'espace de travail du projet s'ouvre correctement dans XCode, à l'exception d'un message d'erreur indiquant que je ne peux pas me débarrasser de moi-même et que je ne trouve aucune information utile sur le Web:

 error message in XCode

À l'endroit où j'importe mon module "Graphiques", le message d'erreur mentionné ci-dessus apparaît. Tout d'abord, je me suis assuré que l'ensemble du projet est défini sur la cible de déploiement IOS 9.0 comme auparavant. 

 deployment target for the project

Comme cela ne résout pas le problème, j'ai créé Produit -> Nettoyer, Produit -> Nettoyer le dossier de construction et enfin supprimé le contenu du dossier "Données dérivées". J'ai également redémarré XCode après toutes ces étapes, mais l'erreur persiste.

Quelqu'un a-t-il une idée de ce que j'aurais pu manquer? Merci beaucoup!

Christian

19
Christian Anton

Idem, dans mon cas 

Sélectionné TARGETS,

puis allez à "Build Settings"

Rechercher "iOS Deployment target" dans search bar

Changé de iOS 8.2 à 9.0 - en tout 

 description

53
ioopl

Si vous devez prendre en charge des versions plus anciennes et que vous n'avez pas la possibilité de simplement mettre à niveau la cible de déploiement de votre projet vers la version requise, essayez de la rétrograder dans un pod:

  1. Sélectionnez le projet Pods dans Project Navigator.
  2. Parcourez tous les modules de la liste TARGETS et remplacez son Deployment Target par la version dont vous avez besoin.
  3. Nettoyez et construisez votre projet

Travaillé pour moi afficher un instantané de Xcode

3
roxanneM

Il suffit de mettre "plateforme: ios, '8.0'" ou quelle que soit votre version dans votre Podfile et cela sera résolu.

2
Paul Berg

Pour moi, effacer DerivedData a résolu le problème. Il semble que clean n’efface pas les fichiers swiftmodule.

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

2
Paul Beusterien

Vous devez mettre à jour le fichier podspec en s.ios.deployment_target = '9.0'

1
Aleš Oskar Kocur

Dans mon cas, le module importé de Pod FOO échouait car il nécessitait la version X:

  • l'application principale/le projet/les cibles étaient tous définis sur la cible de déploiement minimale> = X [OK]
  • le pod FOO avait lui-même la cible de déploiement minimale> = X dans son podspec [OK]
  • un autre module, BAR, utilisait le module FOO, et la cible de déploiement minimale de BAR était de inférieure à X. [FIXED: modifie le podspec de BAR et augmente la cible de déploiement minimale à au moins X]

tl; dr; il se peut que vous utilisiez le pod 1 qui utilise un autre pod 2; le problème est dans podspec du pod 1

0
xaphod

Vous devez accéder aux pods. Pour chaque cible, définissez la même cible de développement que pour le projet principal, nettoyez et reconstruisez à nouveau. 

0
Dragisa Dragisic