2012-05-27 57 views
1

我想知道什么是Objective-C项目(一个项目有十个以上的类别......)的更合适的结构。ObjectiveC项目组织

代码源

我把每个班宣言和执行分别在.h和.m文件。此外,我将这些文件组织在一个文件夹树中。我不想将所有的源文件放在一个文件夹中。这是这个项目的最佳方法吗?

建设

什么是建立Objective-C的应用程序的最佳方法?我发现使用makefile是可能的,但是您似乎需要指定所有涉及的源文件......是否有可能为构建配置所有源文件?

包装

什么是为了提供其作为库打包应用程序的方式吗?

非常感谢您的帮助! 蒂埃里

+0

代码源,我倾向于把相关的目标文件放在一起,并合并他们的.h文件到一个;这有助于减少'#import'语句的数量。 –

回答

1

代码源

在子目录中把相关的.h和.m文件一起是罚款。如果你想要传统的Unix源代码布局,然后把这些子文件夹放到一个名为src的目录中,让你的makefile将库和中间对象文件构建成一个名为bld的文件,并将你的Makefile与一个LICENSE,一个README和CHANGELOG文件。

使用Makefile的语法建设

,可以让使构建的所有源文件合并为一个库。谷歌一个Makefile的教程,但我可以告诉你,你可能想要的是像

OBJECTS = $(patsubst %.o, %.m, $(wildcard Helpers/*.m)) 
OBJECTS += $(patsubst %.o, %.m, $(wildcard Network/*.m)) 
OBJECTS += $(patsubst %.o, %.m, $(wildcard External/*.m)) 

包装

我真的不明白你的问题的这部分。你想如何释放它?您可以分发源代码,并将其放入tar(.gz或.bz2)球中。或者将其上传到GitHub。或者为某些平台构建源代码,并从构建中构建一个DEB或RPM包。一般来说很难说,因为每个平台都有其他的东西(不是特别的)作为惯例。

+0

谢谢!这正是我期待的提示!我没有通配符关键字的生成文件,它似乎是非常有用;-) 关于包装,我不知道提供该库的正确方法。例如,使用Java,它是JAR(Java ARchive文件),并且使用Node.js,它是一个NPM模块... 非常感谢您的帮助! 蒂埃里 –