web-dev-qa-db-fra.com

Le projet 'Pods' a été rejeté en tant que dépendance implicite pour 'Pods.framework' car ses architectures ne contenaient pas toutes les architectures requises.

La cible 'AAA-Pods' du projet 'Pods' a été rejetée en tant que dépendance implicite pour 'Pods_AAA.framework' car ses architectures 'x86_64' ne contenaient pas toutes les architectures requises 'i386 x86_64'.

Cela apparaît comme un avertissement, puis une erreur de l'éditeur de liens apparaît.

24
Arshin

Solution possible: 

  1. Ouvrez le projet Xcode (projet cocoapods) à l'aide du fichier .xc ....
  2. Sélectionnez le projet Pods dans le navigateur de projet (icône bleue à gauche).
  3. Sous Projet, assurez-vous que l'option Pods (icône bleue) est sélectionnée.
  4. Accédez aux paramètres de construction.
  5. Définir uniquement les architectures actives = Non (pour le débogage et la publication).
  6. Facultatif: définissez le sdk de base sur le dernier iOS (ou sélectionnez la plate-forme/version préférée).

Remarque: cette solution a résolu pour moi ce problème (avertissement et erreur de l'éditeur de liens).

Ressources suggérées:

Projet Github: https://github.com/CocoaPods/CocoaPods/issues/2053 Demande de retrait Github: https://github.com/CocoaPods/CocoaPods/pull/1352

56
Arshin

Pour les futurs utilisateurs de Google: Assurez-vous également que votre podfile cible la même version iOS que votre projet:

Par exemple, si vous ciblez iOS 10.0 dans votre projet Xcode, votre podfile doit également inclure platform :ios, '10.0' en haut.

17
Benjamin Schmidt

Sur un tout nouveau projet sur Xcode 9.4.1, le problème était que la cible de déploiement de mon Podfile était définie sur platform :ios, '11.0' alors que la cible de déploiement iOS de mon projet était définie sur 10.3.

Cela a amené le projet Pods généré à cibler iOS 11.0 (pris en charge uniquement par les périphériques 64 bits sur l’architecture arm64), mais comme mon projet principal cible 10.3 et inclut les périphériques armv7, cela ne fonctionne pas lors de l’archivage d’une version Release, car une version Release est également présente. construit des architectures non actives par nature (sauf si vous ne prenez en charge que les périphériques iOS 11).

La solution consiste alors simplement à modifier la cible de déploiement de Podfile pour qu'elle corresponde à celle de votre projet principal, dans mon cas, il s'agit de platform :ios, '10.3'. Ensuite, exécutez pod update et le projet Pods devrait être régénéré. Lancez Xcode, effectuez un nettoyage et vous devriez pouvoir exécuter le processus d’archivage.

5
Chee-Yi

Je me rends compte que cette question est un peu ancienne, cependant j'ai passé 2 jours à lutter contre le même problème juste après la mise à jour de XCode à 9.4. Ce que j'ai trouvé était dans le info.plist sous la clé required device capabilitiesarmv7 était défini alors qu'il aurait dû être vide. J'espère que ça aide quelqu'un.

1
Mark Dail

Une autre solution qui fonctionne pour moi.

  1. Ouvrez .xcodeproject (pas .xcodeworkspace)
  2. Rechercher la cible de déploiement IOS
  3. Choisissez la dernière version que vous avez (ma dernière version est 11.4)
0
Jeff