Xcode:哪些文件需要成为我的目标成员?(目标会员)

T B*_*ank 10 xcode ios

我正在Xcode 4.6.2中开发一个只有一个目标的iPhone应用程序,我注意到一些重要文件不是我的目标成员.我的自定义头文件都不是目标成员资格的一部分,也不是我的Info.plist,我的前缀头或产品"MyApp.app".

我理解目标的方式,这些文件肯定需要成为目标的成员.

我的问题是:为什么这些文件不是我的目标成员?

在搜索了SO之后,类似的问题已经产生了一些见解,但不是对该问题的完整答案.我收集的见解是:

  1. 头文件不是目标的成员,因为它们在"复制头"构建阶段中链接.

    • 这听起来很合理,但我没有复制标题构建阶段
  2. Info.plist和Prefix.pch不是目标的成员,因为Info.plist在"复制包资源"构建阶段中链接,并且Info.plist包含指向前缀头的键/值条目(前缀. PCH)

    • 我并不认为这实际上是如何运作的

Jim*_*Jim 14

头文件是其他源文件引用的文件,因此他们知道类的接口是什么.它们不是二进制本身的一部分,因此它们不需要包含在最终产品中.

Info.plist 是一种特殊情况,因为它定义了应用程序包本身,因此它是单独处理的.

一般来说,您希望文件在以下情况下成为目标的成员:

  • 构成可执行文件的一部分(例如implementation(.m)文件或库),或
  • 被包含在应用程序包中的文件(例如图像).

如果文件仅用作构建过程的一部分且在运行时不需要,则不需要文件成为目标的成员.通常,这是任何类型的头文件,包括预编译的头文件(.pch).