将编译源添加到Prefix.pch文件的最佳实践

时间:2014-05-11 01:23:26

标签: xcode

我想将我为不同项目编写的一些类别放入一个中心文件夹,并将头文件和一些常见的宏放在mystuff.h中,我想将其添加到前缀中。像这样:

Prefix.pch:

#import "myStuff.h"

myStuff.h

#import "/Users/foo/Documents/Xcode-Projects/my_stuff/NSNumber+someCategory.h"

#if DEBUG
// some macros
#endif

目标是只将我导入myStuff.h的一行添加到新项目的Prefix.pch文件中并完成。到目前为止,上面的方法编译得很好,但是运行时会抛出我在项目中使用的所有类别方法的异常,因为类别的.m文件不会被编译。

到目前为止,我找到了两个解决方案:
a)我可以手动将.m个文件添加到" Build Phases =>编译来源"
b)对于我在.h中导入的每个myStuff.h文件,我添加了相关的.m文件,如下所示:

myStuff.h

#import "/Users/foo/Documents/Xcode-Projects/my_stuff/NSNumber+someCategory.h"
#import "/Users/foo/Documents/Xcode-Projects/my_stuff/NSNumber+someCategory.m"

(或将.h&{}合并到.m&#39>中

虽然方法a)似乎很干净,但它确实需要额外的工作,而方法b)需要较少的工作,但我不确定这是否是最佳实践。关于如何干净利落地解决这个问题的想法,还是接受b)的方法?

2 个答案:

答案 0 :(得分:1)

听起来你真正想要的是一个库或框架。 Xcode中的Here are the docs for creating a framework。或者,如果您想为iOS构建库this discussion可能会有用。

答案 1 :(得分:1)

一个选项可能是将您的类别放在一个库中,然后在当前项目中引用该库。请参阅Ray Wenderlich的例子:
http://www.raywenderlich.com/41377/creating-a-static-library-in-ios-tutorial