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。

如果您确实包含库,请再次检查

  • 安全框架
  • SystemConfiguration.framework

在您提到的说明的第 1 步中描述的 Xcode 项目中。

要验证这一点:

  • 在 xcode 中单击您的项目名称并选择您的目标
  • “构建阶段”选项卡下,这两个框架应列在名为“链接二进制与库”的部分下。
  • 如果未列出,请按+按钮添加它们。
于 2012-08-15T12:22:04.173 回答