2012-05-27 209 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模塊... 非常感謝您的幫助! 蒂埃裏 –