Google Cloud Endpoints 链接 iOS 客户端问题

2024-01-28

这个问题的产生是因为我不完全理解iOS中的静态库,而且谷歌的文档似乎有点稀疏。

我正在尝试将 Google Cloud Endpoints 用于我的移动后端。

我为我的客户端库生成 .m 和 .h 文件。然后我创建了一个新项目(OwnItApi),将libGTLTouchStaticLib.a静态库从GTL.proj拖到这个新项目中。然后我将生成的文件 .m 和 .h 文件添加到该项目中。我将所有 .m 文件添加到编译源,然后将头文件复制到文件中。在“构建设置”中,我将“-ObjC -all_load”添加到“其他链接器标志”项。

Update:我忘了提及,我还将标头从 GTL.proj 复制到了 OwnItAPI 项目。这些包括文件 GTLBase64.h、GTLBatchQuery.h、GTLBatchResult、h 等。我想我必须这样做,因为没有它们构建就会失败。

如果没有标题,我会得到:错误“找不到'GTLObject.h'文件”。在进口声明上。

然后,我将从该项目生成的静态库添加到我的主项目中,该项目的目标是 iphone 应用程序。为了测试 API 是否正常工作,我将其添加到 App Delegate

#import "OwnItApi/GTLServiceOwnit.h"
#import "OwnItApi/GTLQueryOwnit.h"
#import "OwnItApi/GTLOwnitApiBrands.h"

这是应用程序内部:didFinishLaunchingWithOptions:函数

static GTLServiceOwnit *service = nil;
if (!service) {
    service = [[GTLServiceOwnit alloc] init];
    service.retryEnabled = YES;
    [GTMHTTPFetcher setLoggingEnabled:YES];
}

GTLQueryOwnit *query = [GTLQueryOwnit queryForBrandsListWithUserID:@"venkat"];
[service executeQuery:query completionHandler:^(GTLServiceTicket *ticket,    GTLOwnitApiBrands *object, NSError *error) {
    NSArray *items = [object brands];;
    NSLog(@"%@", items);
}];

当我编译时,我收到如下重复错误:

duplicate symbol _OBJC_METACLASS_$_GTLOwnitApiBrand in:
/Users/vrao/Library/Developer/Xcode/DerivedData/Own_It!-ertvnctptaddricdrjyrmgemzgsh/Build/Products/Release-iphoneos/libOwnItApi.a(GTLOwnit_Sources.o)

17 个看起来就像这样的错误。然后最后

clang: error: linker command failed with exit code 1 (use -v to see invocation)

Update:在 GTL 项目中,libGTLTouchStaticLib.a 在构建后呈红色,当我右键单击它时,“在 Finder 中显示”呈灰色。为了查找 .a 文件,我对“GTL.framework”使用“在 Finder 中显示”,然后返回文件夹以查找 libGTLTouchStaticLib.a。


我相信您看到了您所看到的问题,因为您还包括GTLOwnit_Sources.m文件。您可以从包含的文件列表中省略此项。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google Cloud Endpoints 链接 iOS 客户端问题 的相关文章

随机推荐

  • 将变量与多个值进行比较的最有效方法?

    在我的程序中 有几次我不得不检查变量是否是众多选项之一 例如 if num lt 1 or 2 or 3 gt DO STUFF 我已经搞乱了 OR 但似乎没有什么是正确的 我试过了 if num 1 2 3 但它什么也没做 我想方便地区分
  • 如何通过 java 文件中的 setText 更新 fxml 文件中的文本字段?

    我希望根据某个值更新文本字段中的文本 为了使这个示例更简单 我缩小了我的程序 问题似乎是当我放置 top setText This is my new Text 时 我看了这个 如何更改java fx 2中TextField的文本 http
  • Seam @Transactional 注释不起作用?

    我在接缝组件上使用 Transactional 注释 类似于 Name myComponent AutoCreate public class MyComponent public void something doWork Transac
  • 如何从 SQL 表中检索分层数据

    我有 2 个表 T Employees 和 T Projects 每个项目都分配了不同数量的员工 我需要做的是获取每个员工的层次结构 并将其分配给特定的项目 请看下图和预期结果 如何在 Microsoft SQL Server 2008R2
  • 如何使用 Puppeteer 选择具有同一类的所有子 div?

    我是 Puppeteer 的新手 我正在尝试从使用同一类的两个 div 中获取 textContent div class post item div class post item info span class post item st
  • 将 javascript 数组传递到另一个页面

    我想知道是否有一种方法可以将数组及其内容传递到另一个页面以供使用 我正在使用一个数组来存储用于在谷歌地图上绘制折线的坐标 该数组在一页上工作正常 但是当我尝试调用该数组在另一张地图上绘制折线点时 似乎该数组已被清空并且没有绘制折线点 我尝试
  • 何时使用简单的 extern "C" ? [复制]

    这个问题在这里已经有答案了 也许我不理解 C 和 C 之间的区别 但是什么时候以及为什么我们需要使用 extern C 显然这是一个 链接约定 我简要地阅读了它 并注意到 MSVS 中包含的所有 h 头文件都用它包围了它们的代码 到底什么类
  • ai_socktype 不支持 Servname

    我正在使用 Vagrant 运行 Centos 虚拟机 机器似乎运行正常 但是当我尝试同步 Perforce 时 我可以看到以下错误 vagrant vagrant c5 x86 64 perforce p4 sync f Perforce
  • 如何在不重新启动服务器的情况下将 EAR 文件重新部署到 Web-Logic?

    我的 EAR 文件 包括 WAR 文件和 EJB jar 文件 已成功部署在 Web Logic 10 3 6 上 现在 我已经更新了 EAR 文件 并按照以下步骤再次重新部署 删除服务器上的旧文件并安装新的 EAR 文件 而无需重新启动服
  • 从操作系统获取事件

    我在 Windows 上工作 但在 Mac 上却卡住了 我有 Canon SDK 并构建了一个JNA包装在它上面 它在 Windows 上运行良好 但在 Mac 上需要一些帮助 在sdk中 有一个函数可以注册回调函数 基本上 当相机中发生事
  • 递归 Haskell 函数似乎不会终止

    为了提高我的 Haskell 技能 我正在尝试解决2018 年代码的到来 https adventofcode com 正如预期的那样 我已经陷入了第一天 特别是第二部分 第二部分 您注意到设备重复相同的频率更改列表 以及结束 要校准设备
  • XCTestCase 未在 setUp 类方法中启动应用程序

    我正在使用 XCode 8 和 XCTestCase 我创建了一个类 setUp 函数 在所有测试之前运行一次 另一个 setUp 在每个测试用例之前运行 我希望应用程序在所有测试用例之前启动一次 如果我在类 setUp 中使用 launc
  • 使用 Naudio 将 MP3 文件转换为 WAV 文件时遇到问题

    瑙迪奥图书馆 http naudio codeplex com http naudio codeplex com 我正在尝试将 MP3 文件转换为 WAV 文件 但遇到了一个小错误 我知道出了什么问题 但我真的不知道如何解决它 这是我正在运
  • _GLIBCXX_USE_CXX11_ABI、GCC 4.8 和 ABI 兼容性

    我们收到了一些为 Linux 编译的库 a 可能是用 GCC 6 x 编译的 我们使用的是 GCC 4 8 并且收到以下类型的错误 undefined reference to std cxx11 basic string当尝试链接时 通常
  • PHP 邮件停止工作

    前几天使用的时候mail 我让它工作了 但现在不行了 而且我不知道问题是什么 to email protected cdn cgi l email protection subject the subject message hello h
  • 如何获取 JSON 对象数组中所有子节点的 JSONPath?

    如何获取对象所有子节点的 JSONPath E g var data key1 children key2 value key3 value key4 key2 value key3 value key4 key5 value key1 c
  • 使用 numpy 处理 exp 溢出

    使用 numpy 我有一个函数的定义 def powellBadlyScaled X f1 10 4 X 0 X 1 1 f2 numpy exp numpy float X 0 numpy exp numpy float X 1 1 00
  • 检查文件是否存在(由命令行参数给出)

    我需要一个使用unix环境的C程序 我已经购买了 Unix环境下的高级编程 一书 到目前为止它已经帮了我很大的忙 然而 我的一些问题没有得到解答 我正在寻求一些帮助 我正在尝试编写一个程序 可以验证是否存在复制程序时输入的第一个和第二个参数
  • readstream 管道未关闭

    我正在使用 sax js 读取大型 xml 文件 解析器完成后我无法让程序退出 这是脚本的形状 删除了解析器逻辑 var fs require fs var sax require sax var feedFile foo xml var
  • Google Cloud Endpoints 链接 iOS 客户端问题

    这个问题的产生是因为我不完全理解iOS中的静态库 而且谷歌的文档似乎有点稀疏 我正在尝试将 Google Cloud Endpoints 用于我的移动后端 我为我的客户端库生成 m 和 h 文件 然后我创建了一个新项目 OwnItApi 将