我正在尝试将Google API链接到我的iOS应用程序中。我已经从他们的网站下载了谷歌api objectivec客户端,我正在按照第一个选项的说明链接静态库("链接到iOS静态库")。
这是我的过程:
- 将GTL.xcodeproj拖动到我的工作区中
- 在我的主项目构建阶段选项卡中,我在目标依赖项下添加了GTLTouchStaticLib
- 然后我转到编译源选项卡,并添加了libGTLTouchStaticLib.a
- 在Build Settings下,我在Other Linker Flags字段中添加了"-OjC-all_load"
现在,在谷歌告诉你更改其他链接器标志之前,他们告诉你:
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)
很明显这里出了问题。有人有什么想法吗?我读过一些文档和许多其他堆栈问题,似乎每个人都有不同的想法和略有不同的问题,我就是搞不清楚。干杯
令人尴尬的是,我实际上并没有用谷歌搜索部分错误代码。无论如何,我似乎没有包括Security.framework和SystemConfiguration.framework。我可能稍后也需要他们建议的另外两个。来源:https://groups.google.com/forum/#!msg/gtm-oauth2/TVgSxG3129A/xcfsF9gmkgIJ