web-dev-qa-db-fra.com

framework xcode 8.3 introuvable FileProvider pour l'architecture armv7

Lorsque j'utilise xcode 9 beta 6 pour construire un projet natif réactif, cela fonctionne très bien.

Mais après avoir changé pour xcode 8.3, la construction a échoué et m'affiche ces informations:

ld: framework not found FileProvider for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Apple Mach-O Linker (ld) Error Group
: Linker command failed with exit code 1 (use -v to see invocation)

Comment pourrais-je faire si j'utilise xcode 8.3 pour développer? Je ne peux pas utiliser xcode 9 à cause de cela: Xcode a été bloqué après l'ajout de ART.xcodeproj dans la bibliothèque

Merci à tous les frères:)

16
Ci Kai

Le framework FileProvide n'est disponible que dans Xcode 9. Vous devez télécharger et installer Xcode 9 manuellement si vous souhaitez continuer à travailler sur l'environnement Xcode 8,

J'obtiens également cette erreur après la mise à jour de mon framework via des cocoapods:

ld: framework not found FileProvider for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Vous devez copier le framework FileProvider de Xcode 9 dans le répertoire de Xcode 8.

  1. Téléchargez la version finale de Xcode 9 ici .
  2. Après l'installation, accédez au dossier Application, cliquez avec le bouton droit sur Xcode9.app, sélectionnez Afficher le contenu du package.
  3. Accédez à ce répertoire:

    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/

  4. Copiez le FileProvider.framework , et collez-le dans le même répertoire de Xcode8.app.
  5. Redémarrez votre Xcode8, nettoyez votre projet et reconstruisez-le.
22
felixwcf

Une façon de résoudre ce problème est d’aller à:

/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/

et placez FileProvider.framework dans votre projet (par exemple, copiez, collez, puis glissez-déposez vers le groupe Frameworks du projet).

Attendez ensuite que XCode 9 soit libéré et retirez-le.

Edit: Il y a un problème avec cette approche, cependant, l'application exécutée sur iOS <11 va planter car le binaire pour FileProvider ne sera pas trouvé.

Pour contourner ce problème:

  • ajoutez FileProvider.framework à votre projet sur XCode 8.x

  • lier le binaire aux bibliothèques

  • puis dissociez-le.

le projet devrait se construire sans problème maintenant.

6
EwyynTomato

Et lorsque vous construisez avec un simulateur, vous devez copier le FileProvider.framework dans

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/

5
Leo_Lee

J'ai également ce problème, et je l'ai résolu par un projet de nettoyage et de reconstruction.

2
zenone