Iphone 为什么要将常量实现文件添加到框架目标中?

Iphone 为什么要将常量实现文件添加到框架目标中?,iphone,objective-c,ios,xcode,Iphone,Objective C,Ios,Xcode,我在这里读了一篇老文章:它讨论了在目标C中执行iPhone开发时如何为常量设置文件。得到很多有用投票的一个回答是,应该将constants.m添加到应用程序/框架的目标中,以便将其链接到最终产品中 我的问题是,你是如何做到这一点的,以及通过这一点实现了什么?这是否使您不必在需要使用常量文件的文件中导入常量文件 另外,响应中提到的相同方法是否适用于整数常量等 谢谢。它使得常量值在链接的二进制文件中可用。您的头文件将通过引用包含,因为您导入了它,但编译器需要知道您希望该.m文件成为最终二进制文件的一

我在这里读了一篇老文章:它讨论了在目标C中执行iPhone开发时如何为常量设置文件。得到很多有用投票的一个回答是,应该将constants.m添加到应用程序/框架的目标中,以便将其链接到最终产品中

我的问题是,你是如何做到这一点的,以及通过这一点实现了什么?这是否使您不必在需要使用常量文件的文件中导入常量文件

另外,响应中提到的相同方法是否适用于整数常量等


谢谢。

它使得常量值在链接的二进制文件中可用。您的头文件将通过引用包含,因为您导入了它,但编译器需要知道您希望该.m文件成为最终二进制文件的一部分


在XCode 4中,从项目导航器顶部左侧的“文件树视图”选项卡中选择项目。从项目导航器右侧新列中显示的目标列表中选择目标。选择右侧的“构建阶段”选项卡。打开“编译源代码”项。下面是编译以生成二进制文件的所有文件。确保你的常量文件在这里。如果不是,请在Project Navigator中找到它并将其拖到“编译源代码”窗格中。

在Xcode 4中,除了Seamus提到的方法之外,您还可以选择该.h文件,打开右上角的右视图,有三个,在第一个选项卡中有目标成员资格,选择要将其添加到的目标,然后设置


您必须确保导入,并且文件必须位于生成目标中。导入确保您的编译器知道要查找的位置,将文件包含在目标中确保当编译器去查找时,有一个文件如果该文件不是您的构建目标的一部分,即使它在您的项目中,也不会包含在您的构建中

感谢DerekLee和@SeamusCampbell的精彩回答