Ios Xcode、静态库和头

Ios Xcode、静态库和头,ios,xcode,Ios,Xcode,我知道这个问题已经被问过好几次了。我读过很多问题和公认的答案:没有人为我工作 我在以下设置中遇到此问题: 为iOS创建并编译为“静态库”的一个项目库 一个项目应用程序创建为空应用程序,链接到LIB项目 LIB项目用作应用程序项目中的“子项目” 我按照以下说明(一步一步)从头开始第二次创建了所有内容: 项目应用程序编译得很好。链接器查找静态库。我甚至可以在构建故事板时使用LIB中定义的类,但应用程序找不到LIB导出的单个.h文件 在上一次尝试中,我修改了在前面的问题和答案(SRCROOT等)中

我知道这个问题已经被问过好几次了。我读过很多问题和公认的答案:没有人为我工作

我在以下设置中遇到此问题:

  • 为iOS创建并编译为“静态库”的一个项目库
  • 一个项目应用程序创建为空应用程序,链接到LIB项目
  • LIB项目用作应用程序项目中的“子项目”
我按照以下说明(一步一步)从头开始第二次创建了所有内容:

项目应用程序编译得很好。链接器查找静态库。我甚至可以在构建故事板时使用LIB中定义的类,但应用程序找不到LIB导出的单个
.h
文件

在上一次尝试中,我修改了在前面的问题和答案(SRCROOT等)中找到的所有变量,但没有一个有效

所以问题是:有没有人找到了从苹果自己提供的说明开始查找标题的方法

如果我没有找到一些愚蠢的头文件的日子,我会觉得可笑的是,这样一个简单的任务(苹果写了两页的文档)是很难做到的。 我正在OSX10.9.2上使用XCode 5.1.1


我创建了一个压缩的tar存档,其中包含两个XCode项目(一个静态库和一个应用程序),它模仿了我上面描述的内容。这两个项目可以从以下地址下载:


这些项目是根据Apple关于将静态库用作子项目的说明创建的。

确保除了“将二进制文件链接到库”之外,您的库还存在于“目标依赖项”中


在“构建阶段”中的“复制文件”下,应该是库应导出的所有标题。如文档所示,您可以选择此标头复制到的路径。。。那么标题是否存在?是您找不到它们还是您的应用程序?您是否考虑过创建一个Xcode工作区并包括这两个项目?您可能还需要修改应用程序项目的标题/库搜索路径。“构建阶段”/“复制文件”的设置如Apple所示。路径是文档中指定的路径。标题位于“build”目录中,包含预期的“include/LIB/”子文件夹。正如我所说的,我尊重Apple指示的每一个步骤。我没有创建工作区(可能是,我会尝试),但由于有关于如何将静态库用作子项目的非常明确的说明,我想了解我做错了什么(或Apple错误编写的内容)。好的,那么您是否在应用程序中包含头文件路径?不在库中。请注意,这与库中的输出路径不同,因为这是不同的项目,存在于不同的位置。要开始尝试在finder中查找头文件(而不是文件夹),请右键单击它并选择“获取信息”然后复制绝对路径并将其作为标题搜索路径包含在应用程序中。我没有修改标题路径,因为我(在相同的Apple页面上)读到“库的标题自动包含在应用程序的标题搜索路径中,因为它们位于生成的产品目录的包含目录中”。更准确地说:当应用程序项目不使用库作为子项目时,我在使用库对象文件和库头文件方面没有问题(我只是添加了.a文件和.h文件,并正确修改了链接器/编译器搜索路径)。库位于“目标依赖项”中,如图所示(我添加此步骤是为了在LIB更改时重新编译所有内容,因为它不是由Apple说明指定的-如果我删除它,则不会发生任何更改-如预期的那样)。链接器在使用库时没有问题:如果我在故事板(应用程序项目中)中使用UIViewController(由LIB提供)它工作得很好。问题是XCode找不到.h文件(实际上只有一个)。在这个项目中,我真的没有太多其他设置,而且自从我做了更改后,我一直能够从“myLib”导入头文件。“实际上只有一个”是多个文件中的一个还是一个文件中的一个?它是否添加到“复制文件”部分?是的,它是。。。。。(要点是为了达到评论的最小字符数:-))