【问题标题】:How to create a cocoa-touch Framework with search path similar to <Google/Analytics.h>如何创建一个搜索路径类似于 <Google/Analytics.h> 的 cocoa-touch 框架
【发布时间】:2016-01-23 06:42:48
【问题描述】:

我正在尝试使用遵循此模式的头文件创建一个可可触摸框架:

 #include   <Compay/Product.h>

而不是通常的

#include <Product/Product.h>

例如#include &lt;Google/Analytics.h&gt;

而不是#include &lt;Analytics/Analytics.h&gt;

在 xcode 7 中?

【问题讨论】:

  • @TommieC。我真的很抱歉,我刚刚意识到我写的例子由于某种原因不可见。现在我希望它应该有意义..
  • 我认为更新后的响应可能是您正在寻找的...再看详细教程,该教程还展示了如何在同一个项目中管理多个框架。

标签: xcode ios8 frameworks cocoa-touch


【解决方案1】:

更新

基于 OP 中的 cmets 和文档中的注释。我建议更改打包下构建设置中的公共标头文件夹路径:

"...将子路径设置为 include/companyname/${PRODUCT_NAME}"

下面的详细教程在上下文中介绍了这一点,以及如何使用同一个项目管理多个框架。

其他参考

你试过最简单的方法吗? (我从来没有这样做过,只是想着实现目标的最直接的方法) - 创建新框架并将其命名为 CompanyName。 - 根据需要添加标题 - 构建并运行 - 与您的应用集成 ~ 应该将 Company/headerfile.h 视为 想要的

Apple docs 在配置标头时声明如下:

接下来,您将添加一个复制文件构建阶段以导出您的标头。 使用 Xcode 4.4 或更高版本创建的新静态库目标将出现 具有适当配置的标题复制文件阶段,因此您 在创建一个之前应该检查你是否已经有一个。如果 你没有,按目标编辑器底部的“添加构建阶段” 并选择“添加复制文件”。披露新的 Copy Files 版本 阶段并将目标设置为“产品目录”。设置子路径 包括/${PRODUCT_NAME}。这会将文件复制到名为 在你的库(取自 PRODUCT_NAME 构建设置)之后,在里面 一个名为 include 的文件夹,位于您构建的产品目录中。这 构建产品目录中的包含文件夹是默认的 应用程序的标头搜索路径,因此这是一个合适的位置 放置头文件。将头文件放在一个以它命名的文件夹中 您的 PRODUCT_NAME 将允许您通过以下方式分隔库标题 为清楚起见,库名称。

这似乎意味着您可以通过一种方式来操作目录结构,以便获得所需的包含结构。 查看更新,它提供了一种使用公共标题文件夹路径构建设置来管理文件夹结构的更简单方法。详细的教程提供了对这一点的良好理解,以及管理多个框架的可视化示例. 也许只是像上面使用的那样更改产品名称会得到您想要的公司名称输出。

扩展信息

iOS Framework - Detailed Tutorial

Swift Frameworks

【讨论】:

  • 这行得通,但我希望在同一个保护伞(公司名称/框架)下创建多个框架并托管在同一个源代码控制系统中,这会非常令人困惑。
  • @Mr.Me - 好的,我会再考虑一下。建议您使用此信息更新问题。
猜你喜欢
  • 2023-03-31
  • 2011-02-26
  • 1970-01-01
  • 2016-05-04
  • 2014-07-25
  • 2017-04-06
  • 2014-12-20
  • 2014-09-11
  • 1970-01-01
相关资源
最近更新 更多