J'utilise Resty partout dans mon projet, mais je dois maintenant télécharger une image Pour serveur, j'essaie donc d'ajouter un autre cadre appelé Restkit pour gérer le téléchargement de fichier. Mais quand j'ai compilé, il a eu une erreur:
duplicate symbol _NewBase64Decode in: /Users/iforests/Library/Developer/Xcode/DerivedData/Owlch-gnysrakcbhsgkubbjjjfbahlocqi/Build/Products/Debug-iphoneos/libRestKit.a(NSData+Base64.o) /Users/iforests/Documents/iOSworkspace/Owlch/LRResty.framework/LRResty(NSData+Base64.o) ld: 2 duplicate symbols for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation)
6 Réponses :
Supprimez ces fichiers de la source restante. p>
LrResty / Classes / Catégories / Nsdata + Base64.h Lrresty / Classes / Catégories / Nsdata + Base64.M P> blockQuote>
qui prendra soin du problème de liaison. P>
Si cela cesse de fonctionner à cause de cela, renommez les fichiers et la catégorie pour Nsdata + base64 dans le code de repos, puis n'importe où le code de repos importe "nsdata + base64.h", modifiez l'importation dans tout ce que vous renommez la catégorie p>
Le problème est que les deux bibliothèques définissent la même méthode: NewBase64Decode. p>
Vous pouvez donc modifier le code source d'une bibliothèque d'une seule bibliothèque et modifier le nom de la méthode sur quelque chose d'autre comme "RKNewBase64Decode". N'oubliez pas d'apporter des modifications dans le fichier * .m également où une méthode NewBase64Decode est invoquée! P>
Je suis également venu avec la même erreur. Généralement, ce type d'erreur est dû à des classes en double et à XIBS dans le dossier de projet. Par exemple, dans mon projet, j'ai eu ces classes deux fois serviceRequest.h / .m code>. Débarrassez-vous des duplicataires et vous êtes prêt à partir. P>
En outre, j'ai noté, si vous avez stupidement une .m, supprimez l'importation. P>
Il suffit d'avoir cette question lors de l'importation d'une nouvelle bibliothèque dans un projet existant (ancien) - révèle que le problème était l'indicateur de liaison Après avoir supprimé ce drapeau, tout est parti bien. P> -all_load code> qui était (pour une raison quelconque) fixé toujours dans le "< Strong> Réglages de construction - Liaison - Autres drapeaux de liaison strong> "en Xcode. P>
Cela m'a eu lieu lors de l'importation d'un cadre contenant une classe avec le même nom que dans le projet. P>
Pour le bénéfice des autres: j'avais cette erreur après avoir supprimé certaines classes que je n'avais plus besoin. Je devais faire un nettoyage avant de pouvoir compiler avec succès.
Essayez ceci: Stackoverflow.com/a/42089897/3024579