2017-08-29 1 views
0

Bonjour Je viens d'utiliser des pods pour implémenter google places avec mon application, mais quand j'essaye d'exécuter mon application, je reçois cette erreur.Google place avec des erreurs c objectives

Undefined symbols for architecture arm64: 
    "_OBJC_CLASS_$_GMSPlacesClient", referenced from: 
     objc-class-ref in ViewController.o 
     objc-class-ref in AppDelegate.o 
ld: symbol(s) not found for architecture arm64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

c'est mon fichier pod:

source 'https://github.com/CocoaPods/Specs.git' 
project '/Users/GeorgeYoung/Desktop/Travel/Travel.xcodeproj' 
target 'Travel' do 
pod 'GooglePlaces' 
end 

L'erreur apears venir de la AppDelegate.m

[GMSPlacesClient provideAPIKey: @ "AIzaSyBYRDTp7U-633XB81qsBeOiVGhokPrc6_M"];

Podfile.lock:

PODS: 
    - GoogleMaps/Base (2.4.0) 
    - GooglePlaces (2.4.0): 
    - GoogleMaps/Base (= 2.4.0) 

DEPENDENCIES: 
    - GooglePlaces 

SPEC CHECKSUMS: 
    GoogleMaps: 8436ab5d1c25e36915b2f7416d0c8e3fa2e76c61 
    GooglePlaces: aafe5990fa7951e98e078761bbdaaf236d7e0c65 

PODFILE CHECKSUM: e564be8d79cfc6ae7b4a4a197ee6149eac7d65d2 

COCOAPODS: 1.3.1 

Répondre

2

Si le code source de la bibliothèque est disponible, CocoaPods s'assure que la bonne architecture est construite. Dans ce cas, la bibliothèque Google Adresses est une bibliothèque de préconstructions. Il existe donc un risque qu'elle ne contienne pas de tranche avec une architecture correcte. La commande file peut être utilisée pour vérifier si une bibliothèque contient une tranche. La prochaine possibilité est que la bibliothèque ne soit pas incluse dans le lien. Cela peut se produire si vous ouvrez le projet Xcode au lieu de l'espace de travail Xcode créé par CocoaPods. Vérifier que l'espace de travail est effectivement utilisé et que la bibliothèque Pod est en cours de liaison peut être utilisé pour éliminer ce problème. Enfin, si tout le reste échoue (et CocoaPods semble toujours le faire correctement), assurez-vous que le paramètre de construction 'Other Linker Flags' contient le paramètre -ObjC. Ceci est nécessaire pour forcer le chargement sur certains symboles Objective-C à partir de bibliothèques statiques.

Donc, en résumé

  1. Vérifiez les bibliothèques contiennent préconstruits la tranche nécessaire
  2. Assurez-vous que vous utilisez l'espace de travail non le projet
  3. Assurez-vous que la bibliothèque Pod est inclus dans le lien
  4. Assurez-vous que -ObjC est spécifié dans les 'Autres indicateurs de liens'
0

Vous n'êtes pas soit liaison avec la bibliothèque qui contient GMSPlacesClient ou vous avez construit la bibliothèque avec l'architecture erronée.

+0

Comment puis-je résoudre ce problème si? –

+0

Oui, je suis sûr que je travaillais accidentellement dans le xcodeproj puis je suis passé à xcworkspace parce que je pensais que c'était pourquoi je recevais l'erreur. –

0

Modifiez votre module f ile:

pod 'GooglePlaces de

pod 'GooglePlacePicker'

pod 'GoogleMaps'