设置XCODE目标

在开发应用程序时,移动应用程序开发人员最经常遵循标准的开发生命周期模式- 开发,测试生产。 对于每个阶段,我们都有不同的API环境。 例如,当应用程序处于开发阶段时,它将与development.api.com通信。 测试和生产也都有各自的API环境。 在本文中,我们将讨论如何使用Xcode目标来放置适当的iOS应用构建系统。

为开发,测试和生产创建单独的API环境,将为每个环境提供自己的数据库,代码库和其他各自的后端服务。 即使应用程序处于测试模式,这也使开发人员可以继续工作并进行更改,并确保Beta测试人员不会破坏生产数据库。

我们在项目中创建一个Constants.swift文件,并定义一个名为baseUrl的变量 在构建用于开发或生产的应用程序时,我们会更改此变量的值,以便在构建中使用相应的API端点,如下所示。

尽管此过程既快速又简单,但是由于以下原因,它也很容易出错:

  1. 如果在每个构建环境中必须更改许多变量,则开发人员需要花费更多的精力来注释或取消注释相应的语句。
  2. 在此过程中,开发人员很可能会忘记评论或取消评论一个或多个语句,从而导致意外的行为或问题。 然后,他们必须花费时间进行调试以找到罪魁祸首。

为了避免这些问题并创建更完善的构建系统,可以使用Xcode目标。 如果您不熟悉Xcode中的目标,请先阅读此处的内容,然后再继续。

我们将需要为每个API环境创建一个新目标。 从技术上讲,Xcode不允许您创建新目标,因此我们将复制(Cmd + D)默认目标并将其重命名,如下所示。

Xcode将自动为新目标创建一个新方案。

要基于构建目标更改API端点,首先需要设置一个自定义标志。 基于此标志,您的代码可以相应地更新变量。

  • 选择目标→构建设置。
  • 确保选择所有合并选项。
  • 搜索自定义标志。
  • Swift编译器-自定义标志→活动编译条件下,您可以看到Debug双击 DEBUG值,然后会出现带有+-按钮的弹出窗口。 查看下图
  • 双击DEBUG进行编辑,将其更改为DEVELOPMENT。

为什么选择这些设置很重要?

这些设置将影响您的应用在编译时如何使用相应的环境变量。

打开您的Constants.swift并使用如下所示的DEVELOPMENT标志,并相应地设置环境变量(如baseUrl

如上所示,您可以定义对于Development Testing Production应当不同的所有环境变量

现在,让我们做一个简单的测试来验证基本URL是否根据构建设置进行了更改。

  • 在任何ViewControllerviewDidLoad ()方法中编写print()语句以打印baseUrl值。
  • 从工具栏中选择Manage Schemes,将RunBuild configuration设置为Debug 如下所示。
  • 执行该应用程序并检查控制台中的日志。 您应该看到baseUrl 作为https://dev.appitventures.com/api/v1/开发环境端点。
  • 同样,让我们​​将RunBuild configurationRelease ,如下所示。 执行该应用程序,您将看到baseUrl 作为https://prod.appitventures.com/api/v1/生产环境端点。

这就是我们使用Xcode目标来管理具有多个API环境端点的iOS构建的方式。 很简单,对不对?


如果您将开发,测试和生产iOS版本一次安装在一台设备上,并测试这些版本,请注意:创建新目标(通过复制)后,您需要为Display输入唯一的值NameBundle Identifier ,因为设备上的两个应用程序不能具有相同的应用程序。 为了轻松地区分内部版本,您可以使用其他显示名称和应用程序图标,如下所示。


要为每个目标构建创建这些文件,请转到BuildSettings,搜索图标,然后将“ 资产目录应用程序图标集名称”的值更改为所需的应用程序图标文件名。

注意:在plist和CI系统中添加新文件,依赖项(pod)和iOS权限时,您必须谨慎。 确保选择了所有已创建的目标,以便为所有目标编译这些文件,从而避免了编译器问题。

如果您喜欢这篇文章,并且对您有所帮助,请给我一些鼓掌! 请关注我的媒体! 请关注AppIt Ventures,以获取其他类似文章。 谢谢😄