0

いくつかの単純なことは時々うまくいかないことがあります ;) このように! ここに記載されている手順に従って、Google+ SDK を iPhone アプリに統合しようとしています。

https://developers.google.com/+/mobile/ios/#initialize_the_google_client

私はすべてのステップを行いました。しかし、アプリをビルドすると、次のエラーが表示されます。

Undefined symbols for architecture armv7:
  "_OBJC_CLASS_$_GTMOAuth2Keychain", referenced from:
      objc-class-ref in libGooglePlusUniversal.a(GooglePlusSignIn.o)
  "_OBJC_CLASS_$_GTMOAuth2SignIn", referenced from:
      objc-class-ref in libGooglePlusUniversal.a(GooglePlusSignIn.o)
  "_OBJC_CLASS_$_GTMOAuth2ViewControllerTouch", referenced from:
      objc-class-ref in libGooglePlusUniversal.a(GooglePlusSignIn.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

レポート対象のクラスは、オープン ソースの Google ツールボックス プロジェクトの一部です (ダウンロードした SDK にも含まれていますが、XCode のプロジェクトに GooglePlusShare.h と libGooglePlusUniversal.a のみを含めるように指示されています)。「google-plus-ios-sdk-1.0.0\OpenSource」ディレクトリからヘッダー ファイルをインクルードしようとしましたが、役に立ちません。ディレクトリ「google-plus-ios-sdk-1.0.0\OpenSource」から(.hファイルだけでなく)全体を含めてみましたが、ARC関連のエラーが多数(500以上!)発生します。だから私はこのオプションをやめました。

これらのリンカ エラーを解決する方法について何かヘルプはありますか?

私の環境:XCode 4.3.3、iOS 5.0、Mac OS X Lion 10.7.4、iPhone 4でテスト中

4

2 に答える 2

1
 Just select GData.xcodeproj .
 select GDataTouchStaticLib from target .
 search "othet c flag"
 remove "-DGTM_INCLUDE_OAUTH2=1" if exist

 add "-DGDATA_INCLUDE_OAUTH2=1"
 click on done. clean project and then build.
于 2012-12-27T11:46:18.223 に答える
0

通常、キーチェーンと auth-stuff が欠落しているということは、プロジェクトに Security.framework をインポートしていないことを意味します。

本当にライブラリを含めたかどうかをもう一度確認してください

  • Security.framework
  • SystemConfiguration.framework

参照した手順のステップ 1で説明されているように、Xcode プロジェクトで。

これを確認するには:

  • xcode でプロジェクト名をクリックし、ターゲットを選択します。
  • 「Build Phases」タブの下で、これら 2 つのフレームワークは「Link Binary With Libraries」というセクションの下にリストされているはずです。
  • リストにない場合は、+ボタンを押して追加します。
于 2012-08-15T12:22:04.173 に答える