尝试与iPhone App集成时,Google plus SDK会发出链接器错误

时间:2012-08-15 12:04:30

标签: iphone ios linker ios5

有些简单的事情有时候不起作用;)就像这一样!我正按照此处提供的说明尝试将Google+ SDK集成到iPhone App中:

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进行测试

2 个答案:

答案 0 :(得分: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.

答案 1 :(得分:0)

缺少钥匙串和auth-stuff通常意味着您从未在项目中导入Security.framework。

如果确实包含了库

,请再次检查
  • Security.framework
  • SystemConfiguration.framework

在Xcode项目中,如您所提及的说明的第1步中所述。

验证这一点:

  • 点击xcode中的项目名称,然后选择目标
  • “Build Phases”标签下,这两个框架应列在名为“Link Binary With Libraries”的分区下。
  • 如果未列出,请按 + 按钮添加它们。