首页 文章

哪个是Xcode for iOS项目中多个环境设置的最佳实践?

提问于
浏览
0

到目前为止,我知道有多种解决方案可用于多种环境设置 .

Solution 1 :为不同的环境准备不同的plist文件 . 然后,使用“添加运行脚本构建阶段”复制特定的plist文件以覆盖项目plist文件 .

Solution 2 :在PROJECT - > Info - > Configurations中,复制现有配置 . 安装方案 - >信息 - >构建配置 . 然后,在目标 - >构建设置中,添加用户定义的设置 .

$(kBaseURL)

Solution 3 :在PROJECT - > Build Settings中添加预处理器宏以定义环境 . 然后,在源代码中写入宏来切换环境设置值 .

#ifdef DEBUG_ENV
#define kBaseURL @"http://debug-server.a.com/api/"
#else
#define kBaseURL @"http://production-server.a.com/api/"
#endif

还有其他几种切换环境设置的方法 .

这样做的最佳做法是哪种方式?

1 回答

  • 1

    我认为这也是一个品味和你实际想要实现的问题 .

    例如,您可能希望调试配置不与Internet通信,而是使用HTTP存根来模拟请求 . 简单地复制plists是不可能的 .

    Personally 我更喜欢为每个环境创建构建配置,然后为每个切换预编译器宏的配置设置编译器标志 . 我还想采取一些更棘手的步骤来修改所有配置的bundle id和app name,然后为每个配置创建一个构建方案 . 这使我能够从Xcode构建所有环境并在同一设备上安装所有应用程序,因为捆绑ID不同 . 虽然设置起来有点棘手 . 但是一旦它运行:完美的我的用例:)

相关问题