【问题标题】:What are the Xcode solution organisation best practices and guidelines?Xcode 解决方案组织的最佳实践和指南是什么?
【发布时间】:2012-03-15 21:40:46
【问题描述】:

有没有关于如何在 xcode 中组织解决方案的最佳实践

这是我此刻的根:

  • 每个 3rd 方框架的文件夹,例如KissXML
  • 我的单元测试文件夹
  • 框架、产品和资源的文件夹
  • MyApp 的文件夹,其中包含模型、视图、控制器、数据库、支持文件和域的子文件夹。

【问题讨论】:

    标签: iphone objective-c xcode


    【解决方案1】:

    我的是:

    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 组织还可以的项目,但是文件系统中的每个源文件都被转储到一个目录中。

    【讨论】:

      【解决方案2】:

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

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

      2. 一个主要模块的文件夹,其中包括每个模块的子文件夹 包含类文件、nib 和资源的屏幕(这可能包括 更多子文件夹根据需要)。

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

      此模型为我们提供了一个主要目的。我们的应用程序核心包含日志记录、数据加密/解密等内容。因此对于我们开发的许多应用程序来说,它不太可能被更改。同样,有些应用程序需要主要模块一的功能并添加其他一些东西。因此,这三个文件夹组在 subversion 上作为单独的存储库进行维护。

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

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

      【讨论】:

        猜你喜欢
        • 2015-04-24
        • 2011-04-08
        • 1970-01-01
        • 2011-12-31
        • 1970-01-01
        • 1970-01-01
        • 2010-10-27
        • 2011-06-09
        • 2011-03-19
        相关资源
        最近更新 更多