gpt4 book ai didi

cocoa - 我有一个 Xcode 静态库项目,如何向其中添加测试目标以便可以在那里运行它? (而不是在链接到它的项目中。)

转载 作者:行者123 更新时间:2023-12-03 17:00:11 25 4
gpt4 key购买 nike

我希望能够在库目标中测试库代码,这样我就不必切换到单独的项目来运行它。

我了解了如何添加目标,但不确定如何将其设置为像“命令行工具”项目模板一样运行。我尝试添加一个新的“Shell Tool”目标,但我不知道如何使其像目标一样运行。我必须向该目标添加哪些build设置?我需要什么文件(main.m?)来启动它?

编辑(添加了我在下面的评论,希望使问题更容易回答。)

我的库有两个目标,一个用于 iOS,一个用于 MacOS。到目前为止我只将它包含在一个 iOS 项目中,所以这就是我目前想要使用的项目。我尝试添加 Cocoa Touch 单元测试 bundle 目标,但我的构建失败,并且命令/bin/sh/失败,退出代码为 1,并且架构“i386”测试失败(GC 关闭)。我认为我不想在 i386 上运行(至少不想测试我的 iOS 目标),而且我在目标设置中找不到任何显示 i386 的内容。

我看到该项目的事件架构是 i386(在“项目”>“设置事件架构”菜单中),但它不允许我在那里更改它。我的 TestApp 目标将标准(armv6)作为体系结构集,我尝试搜索设置,但没有任何内容包含 i386。我该如何改变它?

最佳答案

Mac OS X SDK 中有一个用于单元测试捆绑目标的模板。

请注意,“ bundle ”是测试目标的构建产品:目标生成一个单元测试 bundle 。它不要求您的实际产品(库、应用程序等)是 bundle ;事实上,您的实际产品是什么并不重要。

也就是说,当您有静态库时,您可以采取一些不同的做法:

  1. 右键单击组树中的任何内容。从“添加”子菜单中选择“新目标”。
  2. 在 Mac OS X 标题下,选择 Cocoa。在模板列表中向下滚动并选择单元测试包。单击“确定”。
  3. 为您的单元测试包目标命名。
  4. 将您的库构建产品(来自“产品”组)添加到单元测试 bundle 目标的“链接二进制文件与库”阶段。
  5. 在任何构建阶段之外,将您的库目标(从“目标”组)添加到您的单元测试 bundle 目标。这使其成为依赖项,以便测试 bundle 目标将在必要时重建库。
  6. 将您的事件目标设置为测试包目标。

通常,您只需将被测代码的源代码文件添加到库目标和测试包目标中,但这样做也会测试您将测试包链接到库的能力。如果库存在任何阻止链接的问题,这可能会检测到它们。

关于cocoa - 我有一个 Xcode 静态库项目,如何向其中添加测试目标以便可以在那里运行它? (而不是在链接到它的项目中。),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3017761/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com