web-dev-qa-db-fra.com

Les dylibs/frameworks intégrés ne sont pris en charge que sur iOS 8.0 et versions ultérieures pour l'architecture armv7

Je viens de passer de Xcode 6.4 à Xcode 7GM et je reçois maintenant l'avertissement suivant lors de l'exécution de mon ancien projet

embedded dylibs/frameworks are only supported on iOS 8.0 
and later (@rpath/xxxxxx.framework/xxxxxx) for architecture armv7

Ce problème ne se produit que dans Xcode 7.Mais si je lance le projet dans Xcode 6.4, cela ne s'est jamais produit.

17
Tracy Zhao

Je rencontre exactement le même problème sur Xcode 7.1 beta3 et je recherche le mot-clé 'IPHONEOS_DEPLOYMENT_TARGET' pour vérifier que toutes les cibles supérieures à 8.0 sont respectées.

22
Lei Zhang
  • J'ai eu un bug lors de la mise à jour de xcode vers la version 7.3. J'ai eu une solution pour moi. Je pense que c'est utile!

 attack

10
PhuocLuong

Assurez-vous que tous vos TARGET ont la même cible de déploiement (également les modules installés ou l'infrastructure).

Par exemple, dans l'exemple ci-dessous, toutes les cibles (Bolts, FBSDKCoreKit, FBSDKLoginKit .... SingleSignOnPod) doivent avoir la même cible (par exemple 7.0).

 enter image description here

7
PANKAJ VERMA

Votre cible de déploiement est inférieure à 8.0, qui est la version iOS la plus basse prenant en charge les infrastructures intégrées. Si vous déployez l'application sur un appareil exécutant la version 7.x, l'application se bloque lors de l'exécution. C'est pourquoi le compilateur a donné cet avertissement.

La raison pour laquelle cela ne s'est pas produit sur Xcode 6.4 est inconnue. J'ai moi-même reçu l'avertissement quand j'ai fait la même chose (j'ai choisi la cible de déploiement 7.x mais utilisé des frameworks intégrés).

Pour résoudre ce problème, il suffit d'élever la cible de déploiement à 8.0 ou plus. Si vous avez besoin de prendre en charge 7.x, essayez d’utiliser des bibliothèques statiques au lieu d’infrastructures intégrées.

1
Fujia

Je n'avais pas de framework intégré dans mon projet, mais ce problème était dû à l'activation de l'assainisseur de threads.

La solution de contournement était donc d'élever la cible de déploiement sur iOS 8, puis de résoudre les problèmes de threading, puis de désactiver Thread Sanitizer et de rétablir le support iOS 7.

0
Pavel Alexeev