web-dev-qa-db-fra.com

xcode7 ios9 à propos de libz.tbd n'est pas un fichier objet (non autorisé dans une bibliothèque)

Erreur:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0. sdk/usr/lib/libz.tbd n'est pas un fichier objet (non autorisé dans une bibliothèque)

Si je remplace libz.dylib avec libz.tbd, xcode montre ce bogue. Mon projet est une bibliothèque statique Cocoa Touch.

21
Appfame Appfame

J'ai trouvé la solution ici: https://forums.developer.Apple.com/thread/4572

Résumer:

  1. Supprimez le fichier libz.tbd de la zone Bibliothèques et cadres.
  2. Modifiez vos paramètres de construction pour les autres indicateurs de l'éditeur de liens, ajoutez "-lz"

Ce n'est pas idéal car il contourne l'interface graphique pour gérer les bibliothèques liées dans votre projet, mais cela fonctionne.

13
mikepj

Les étapes ci-dessous ont résolu le problème. Référence solution

Selon cet article:

  1. Supprimez toutes les références aux fichiers .tbd de la phase des bibliothèques liées ou de la phase des ressources de l'ensemble copié (où elles seront parfois ajoutées).
  2. Allez dans Build Phases> Link Binary with Librairies> +> Add other -> Add a library to your project, then click 'Add Other ...' then press Shift + Command + G and type in the path '/ usr/lib' - vous y trouverez libz.dylib.
  3. ajouter "-lz" aux autres drapeaux de l'éditeur de liens
10
Saikiran K