iOS工程环境配置

概念

  • workspace(工作区)

    workspace是一个文档,用于对 projcet和其他文档进行分组,以便可以一起处理它们。workspace可以包含任意数量的 projcet,以及任何其他要包含的文件。除了组织每个 projcet中的所有文件之外,工作区还提供所包含 projcet及其 target之间的隐式和显式关系。

  • project(项目)

    project是构建一个或多个 product所需的所有文件、资源和信息的存储库。project包含用于构建 product的所有元素,并维护这些元素之间的关系。它包含一个或多个 target,这些 target指定如何生成 product。project为 project中的所有 target定义默认 build settings(每个 target还可以指定自己的 build settings,这些 build settings将覆盖 project生成的 build settings)。

  • target(目标)

    target指定要生成的 product,并包含从 project或 workspace中的一组文件构建 product的说明。target定义单个 product;它将输入组织到构建 product所需的构建系统(源文件和处理这些源文件的说明)中。project可以包含一个或多个 target,每个 target生成一个 product。

  • product(软件产品)

  • build settings(生成设置)

    build settings是一个变量,其中包含有关如何执行product生成过程的特定方面的信息。例如,build settings中的信息可以指定 Xcode 传递给编译器的选项。

  • scheme(方案)

    scheme定义了要生成的 target集合、生成时要使用的 build settings以及要执行的测试集合。

配置

配置设计
环境变量

工程环境配置中涉及到的变量主要有:

  • log打印

    • 打印

    • 不打印

  • 服务器环境

    • 测试环境

    • 正式环境

  • 推送环境

    • 调试环境

    • 线上环境

  • 证书&&描述文件

    • 开发证书&&开发描述文件

    • 发布证书&&临时描述文件

    • 发布证书&&发布描述文件

工程环境

考虑到开发调试、测试(使用testflight)、发布的需求,故设计三种工程环境:

  • debug调试环境

    debug调试环境提供给开发人员开发调试使用。

  • test测试环境

    test测试环境用来给测试人员打测试包。

  • release发布环境

    release发布环境用来发布。

工程环境、环境变量

工程环境及环境变量关系:

工程环境 log打印 服务器环境 推送环境 证书&&描述文件
debug 打印 测试环境 调试环境 开发证书&&开发描述文件
test 不打印 测试环境 调试环境 发布证书&&发布描述文件
release 不打印 正式环境 线上环境 发布证书&&发布描述文件
配置实践
工程环境编辑

porject->info->configurations

环境变量控制定义

targets->build settings->preprocessor macros

环境变量定义
#ifdef DEBUG
#define PSLog(fmt, ...) NSLog((@"%s [Line %d]" fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
#else
#define PSLog(...)
#endif

#pragma mark -服务器配置
#ifdef NETWORK_TEST
#define PSDomain             @""
#else
#define PSDomain             @""
#endif

你可能感兴趣的:(iOS工程环境配置)