我想将我为不同项目编写的一些类别放入一个中心文件夹,并将头文件和一些常见的宏放在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)的方法?
答案 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