web-dev-qa-db-fra.com

Erreur Crashlytics: symboles non définis pour l'architecture arm64

Après avoir mis à jour Fabric Crashlytics dans mon application, je ne peux plus l'exécuter sur mon appareil iOS. Sur simulateur cela fonctionne bien. L'erreur est:

Symboles non définis pour l'architecture arm64: "_Gzopen", référencé depuis: - [CLSPackageReportOperation compressFile:] dans Crashlytics (CLSPackageReportOperation.o) "_Gzwrite", référencé depuis: ___ 42- [CLSPackageReportOperation compressFile:] _ block_invoke dans Crashlytics (CLSPackageReportOperation.o) "_Gzclose", référencé depuis: [.____ ____.] ld: symbole (s) non trouvé (s) pour l'architecture arm64 clang: error: la commande de l'éditeur de liens a échoué avec le code de sortie 1 (utilisez -v pour voir l'invocation)

 enter image description here

19
mazorati

Résolu J'ai enlevé Crashlytics.framework et l'ai réinstallé.

4
mazorati

Crashlytics et Fabric nécessitent que vous associez votre cible aux éléments suivants:

  • Security.framework
  • SystemConfiguration.framework
  • libc ++
  • libz

Sélectionnez simplement votre cible -> Build Phases -> Link Binary with Libraries -> ajoutez celles qui manquent.

J'espère que ça a aidé.

44
Ricardo Anjos

Je rencontre un problème similaire lorsque je mettais à jour une application créée avant Xcode 5. 

Depuis Xcode 5, de nouveaux projets sont construits avec des modules activés par défaut. Dans mon ancienne application, "Activer les modules" était réglé sur "Non". Donc c'était la solution.

 In the Build Settings set Enable Modules (C and Objective-C) to YES

16
coco

J'ai résolu ce problème en ajoutant simplement $(inherited) à d'autres indicateurs de l'éditeur de liens dans les paramètres de construction.

12
sumit kapoor

Pour moi, la solution était Build Phases - Link Binary With Libraries ajouter libc ++ et fonctionne dans mon projet hérité.

4
Felipe FMMobile

Étendre la réponse de Ricardo ici. Sélectionnez l’onglet “Build Phases”, cliquez sur le “+” à côté de “Link Binary With Libraries” et ajoutez - 

  1. Security.framework
  2. SystemConfiguration.framework
  3. StoreKit.framework 
  4. libsqlite3.tbd
  5. libz.tbd
  6. libc ++. tbd

Selon Google, les développeurs doivent utiliser Crashlytics via Firebase . Cela a fonctionné pour moi à partir de Firebase v5.16.0 et Fabric v1.9.0 (Xcode 10.1).

1
raurora

Dans l'onglet Info du projet (et non de la cible), définissez le fichier de configuration sur none et exécutez à nouveau pod install.

0
Grigory Bochkarev