1

我正在尝试将Google API链接到我的 iOS 应用程序。我已经从他们的网站下载了google-api-objectivec-client并且我按照第一个选项说明链接静态库(“链接到 iOS 静态库”)。

这是我的过程:

  • 将 GTL.xcodeproj 拖到我的工作区中。
  • 在我的主项目Build Phases选项卡中,我在Target Dependancies下添加了 GTLTouchStaticLib
  • 然后我转到Compile Sources选项卡,并添加了 libGTLTouchStaticLib.a
  • Build Settings下,我在 Other Linker Flags 字段中添加了“-ObjC-all_load”。

现在,在 Google 告诉您更改其他链接器标志之前,他们会告诉您:

The static library target also creates a folder with the library's headers to drag into your target's sources. 
The headers folder is created in the build products directory. To find build products directory, in Xcode 4's Locations preferences pane, click the arrow for Derived Data.

所以我继续这样做,头文件现在在我的目标源中。所以我想在我继续添加他们提供的任何服务之前,我应该编译它并确保一切正常。我的项目无法编译,出现19 个编译器错误,如下所示:

Undefined symbols for architecture armv7:
  "_kSecValueData", referenced from:`-[GTMOAuth2Keychain setPassword:forService:accessibility:account:error:] in` libGTLTouchStaticLib.a(GTMOAuth2ViewControllerTouch.o)

所以很明显这里出了点问题。有人有什么想法吗?我已经阅读了一些文档和许多其他堆栈问题,似乎每个人都有不同的想法和略有不同的问题,我就是想不通。干杯!

4

1 回答 1

1

尴尬的是我实际上并没有谷歌搜索错误代码的一部分。无论如何,我似乎没有包括 Security.framework 和 SystemConfiguration.framework。我可能还需要他们稍后建议的另外两个。来源:https ://groups.google.com/forum/#!msg/gtm-oauth2/TVgSxG3129A/xcfsF9gmkgIJ

于 2013-07-26T11:19:14.330 回答