2017-08-29 12 views
0

こんにちは、自分のアプリケーションでGoogleプレイスを実装するためにポッドを使用しましたが、アプリを実行しようとするとこのエラーが発生します。目的地のエラーがあるGoogleプレイス

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) 

これは私のポッドファイルです:

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

エラーがAppDelegate.m

[GMSPlacesClient provideAPIKey: "AIzaSyBYRDTp7U-633XB81qsBeOiVGhokPrc6_M" @]から来ることがapears。

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 

答えて

2

ライブラリのソースコードが利用可能な場合、CocoaPodsは正しいアーキテクチャが構築されているかどうかを確認するのに大変便利です。この場合、Googleプレイスライブラリはプレビルドライブラリであるため、正しいアーキテクチャのスライスが含まれていないというリスクがあります。 fileコマンドを使用して、ライブラリにスライスが含まれているかどうかを確認できます。次の可能性は、何とかライブラリがリンクに含まれていないということです。これは、CocoaPodsで作成されたXcodeワークスペースの代わりにXcodeプロジェクトを開いた場合に発生します。ワークスペースが実際に使用されていることと、Podライブラリがリンクされていることを確認することで、この問題を解決できます。最後に、他のすべてが失敗した場合(そしてCocoaPodsは通常このように正しいと思われます)、 'Other Linker Flags'ビルド設定に-ObjC設定が含まれていることを確認してください。これは静的ライブラリからのいくつかのObjective-Cシンボルへのロードを強制する必要があります。要約中のSO

  1. チェックビルド済みのライブラリが
  2. は、ワークスペースではない
  3. は確かポッドライブラリがリンクに含まされていることを確認したプロジェクトを使用していることを確認し必要なスライスを含ま
  4. に「ObjC」が指定されていることを確認してください。「その他のリンカフラグ」
0

あなたはどちらかGMSPlacesClientか間違ったアーキテクチャでライブラリを構築して含まれているライブラリをリンクしていません。

+0

? –

+0

はい私は誤ってxcodeprojで作業していたと確信しています。 –

0

ポッドf ILE:

ポッド 'GooglePlaces'

ポッド 'GooglePlacePicker'

ポッド 'Googleマップ' 私もことを修正するにはどうすればよい

関連する問題