J'utilise des codes externes de Google dans mon nouveau Swift 2.0 qui nécessitait "libz.dylib" dans les versions précédentes. Après la mise à jour vers le nouveau XCode/le nouveau SDK.
XCode est maintenant incapable d'importer le libz.dylib et lève quelques erreurs
Symboles non définis pour l'architecture i386: "_deflate", référencés depuis: + [GAICompressionUtil gai_dataByCompressingBytes: length: compressionLevel: mode:] mode:] dans libGoogleAnalyticsServices.a (GAICompressionUtil.o) "deflateInit2", référencé depuis: + [GAICompressionUtil gai_dataByCompressingBytes: longueur: compressionLevel: mode:] dans libGoogleAnalyticsServices.a (.). , référencé à partir de: + [GAICompressionUtil inflateInit2 ", référencé depuis: + [GAICompressionUtil gai_dataByInflatingBytes: length: isRawData:] dans libGoogleAnalyticsServices.a (GAICompressionUtil.o) l d: symbole (s) non trouvé (s) pour l'architecture i386 clang: erreur: la commande de l'éditeur de liens a échoué avec le code de sortie 1 (utilisez -v pour voir l'invocation)
En parcourant les packages disponibles dans les paramètres de "phase de construction", je peux trouver "libz.tbd", qui semble remplacer le libz.dylib. Lors de l'importation de cette lib, l'erreur de l'éditeur de liens reste la même, mais je reçois cet avertissement supplémentaire:
avertissement: fichier à ignorer '/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk/usr/lib/libz.tbd' (type de fichier inattendu 'texte' dans Phase de construction de Frameworks & Libraries)
Une idée de ce qu'il faut faire?
J'ai eu le même problème. J'ai trouvé une sorte de chemin autour.
libz.dylib se trouve maintenant sous libz.tbd extrait du Apple :
Pour ceux qui sont curieux, les fichiers .tbd sont de nouvelles "bibliothèques de stub basées sur du texte", qui fournissent une version beaucoup plus compacte des bibliothèques de stub à utiliser dans le SDK et permettent de réduire considérablement la taille de son téléchargement.
Espérons que plus de documentation sera bientôt disponible.
edit
Pour le clarifier, je citerai Guitz answer avec le contenu mis à jour
- Aller aux phases de construction> Lier un binaire avec les librairies> +> Ajouter autre
- Une fois dans la fenêtre de sélection de fichier, faites "CMD" + Maj + G (Aller au dossier) et tapez/usr/lib /
- Depuis/user/lib, vous pouvez ajouter: libz.tbd et plus ...
- Compiler et s'amuser
Supprimez toutes les bibliothèques dynamiques (dylib) de la phase de liaison avec les fichiers binaires. Il trouvera ces bibliothèques par lui-même.
J'ai ce problème dans objective-c project.ios9.1, xcode7.1
1.Allez vers la cible> Étapes de la construction> Lier un binaire avec des bibliothèques> +
2.sélectionnez libz.tbd et ajoutez-le
Ça a fonctionné pour moi
libz.dylib est la bibliothèque dynamique de Zlib, vous pouvez installer Zlib à partir d’ici http://zlib.net/
Vous pouvez ajouter libz.1.dylib à partir de l'emplacement:/usr/lib /
Cela a fonctionné pour moi.
Vous pouvez également ajouter le lybz.dylib
de "Autres drapeaux de l'éditeur de liens" dans Paramètres de construction en ajoutant l'argument -lz
.
Je devais le faire parce que, en utilisant la méthode où vous référencez la bibliothèque à partir de/usr/lib, lorsque j'ai déployé mon application sur nos testeurs, la bibliothèque .dylib n'a pas pu être résolue et a entraîné le blocage de l'application au lancement.