什么是Xcode解决方案组织的最佳实践和指导方针?

问题描述:

是否有如何组织在Xcode一个解决方案的最佳做法什么是Xcode解决方案组织的最佳实践和指导方针?

这是从根本上瞬间雷:

  • 用于每个第三方框架文件夹如KissXML
  • 一种我单位的文件夹测试
  • 的文件夹为框架,产品和资源
  • 一种MyApp文件夹,其对模型,视图,控制器,数据库,支持文件和域子文件夹。

我的是:

Main application 
    Model 
    Singletons 
    Helper+managers 
    Controllers // I keep nibs with their respective class files 
    View 
    Resources 
     images 
     plists 
     // ... groups from other types of resources if needed 
    Supporting files 
Unit tests 
Frameworks 

对于可重用的代码在iOS我用静态库和添加为在Xcode工作空间独立的项目。即使对于第三方代码,如果没有静态库目标,我也创建一个。这样,我就像对待我自己的库代码一样对待第三方代码。此外,我不必担心第三方代码的版本。

我发现重要的是要有的Xcode镜像代码的文件系统的组织,至少到一定程度。我在阅读this blog post后采用了这种做法。尽管如此,我并没有在上面列出的水平以下做这个。例如,当您在github上共享代码时,这会有所帮助。下载者或贡献者不必将所有源代码转储到单个目录中,而是将其组织成功能性存储区。我见过在有些项目中的Xcode组织是确定的,但在文件系统中的每一个源文件被倾倒到一个目录。

虽然没有特定的方法可以没有缺点的,这里是我们使用

  1. 文件夹的应用程序的核心或模型。这包括子文件夹 使用任何第三方库和文件夹专业模特 类。例如,将有用于Web服务处理的文件夹。

  2. 文件夹为一个主模块,其中将包括对含有类文件,碎粒和资源的每个 屏幕的子文件夹(这可以根据需要包括更多 子文件夹)。

  3. 文件夹的第二个主要模块等..

这种模式提供我们一个主要目的。我们的应用程序内核包含诸如日志记录,数据加密/解密等内容。因此,我们开发的许多应用程序不太可能发生变化。同样,会有一些应用程序需要主要模块1的功能并添加其他一些功能。因此,这三个文件夹组在Subversion上作为单独的存储库进行维护。

现在,当我们开始一个新项目,我们为项目创建一个新的存储库,并与应用程序的核心库,并根据需要其他主要模块的存储链接。因此,一个项目团队在应用程序核心中所做的任何更改也反映在其他项目中。与其他主要模块一样。这也有助于我们实现完整的模块化。

当然这个方案会有缺点,但是这个方案很适合我们很多年了:)