设置XCODE目标
在开发应用程序时,移动应用程序开发人员最经常遵循标准的开发生命周期模式- 开发,测试和生产。 对于每个阶段,我们都有不同的API环境。 例如,当应用程序处于开发阶段时,它将与development.api.com通信。 测试和生产也都有各自的API环境。 在本文中,我们将讨论如何使用Xcode目标来放置适当的iOS应用构建系统。
为开发,测试和生产创建单独的API环境,将为每个环境提供自己的数据库,代码库和其他各自的后端服务。 即使应用程序处于测试模式,这也使开发人员可以继续工作并进行更改,并确保Beta测试人员不会破坏生产数据库。
我们在项目中创建一个Constants.swift
文件,并定义一个名为baseUrl
的变量。 在构建用于开发或生产的应用程序时,我们会更改此变量的值,以便在构建中使用相应的API端点,如下所示。
尽管此过程既快速又简单,但是由于以下原因,它也很容易出错:
- 如果在每个构建环境中必须更改许多变量,则开发人员需要花费更多的精力来注释或取消注释相应的语句。
- 在此过程中,开发人员很可能会忘记评论或取消评论一个或多个语句,从而导致意外的行为或问题。 然后,他们必须花费时间进行调试以找到罪魁祸首。
为了避免这些问题并创建更完善的构建系统,可以使用Xcode目标。 如果您不熟悉Xcode中的目标,请先阅读此处的内容,然后再继续。
我们将需要为每个API环境创建一个新目标。 从技术上讲,Xcode不允许您创建新目标,因此我们将复制(Cmd + D)默认目标并将其重命名,如下所示。
Xcode将自动为新目标创建一个新方案。
要基于构建目标更改API端点,首先需要设置一个自定义标志。 基于此标志,您的代码可以相应地更新变量。
- 选择目标→构建设置。
- 确保选择所有和合并选项。
- 搜索自定义标志。
- 在Swift编译器-自定义标志→活动编译条件下,您可以看到Debug并双击
DEBUG
值,然后会出现带有+
&-
按钮的弹出窗口。 查看下图
- 双击DEBUG进行编辑,将其更改为DEVELOPMENT。
为什么选择这些设置很重要?
这些设置将影响您的应用在编译时如何使用相应的环境变量。
打开您的Constants.swift
并使用如下所示的DEVELOPMENT
标志,并相应地设置环境变量(如baseUrl
。
如上所示,您可以定义对于Development , Testing 和 Production应当不同的所有环境变量。
现在,让我们做一个简单的测试来验证基本URL是否根据构建设置进行了更改。
- 在任何ViewController → viewDidLoad ()方法中编写
print()
语句以打印baseUrl
值。 - 从工具栏中选择Manage Schemes,将
Run
→Build configuration
设置为Debug
如下所示。
- 执行该应用程序并检查控制台中的日志。 您应该看到
baseUrl
作为https://dev.appitventures.com/api/v1/
开发环境端点。
- 同样,让我们将
Run
→Build configuration
为Release
,如下所示。 执行该应用程序,您将看到baseUrl
作为https://prod.appitventures.com/api/v1/
生产环境端点。
这就是我们使用Xcode目标来管理具有多个API环境端点的iOS构建的方式。 很简单,对不对?
如果您将开发,测试和生产iOS版本一次安装在一台设备上,并测试这些版本,请注意:创建新目标(通过复制)后,您需要为Display输入唯一的值Name和Bundle Identifier ,因为设备上的两个应用程序不能具有相同的应用程序。 为了轻松地区分内部版本,您可以使用其他显示名称和应用程序图标,如下所示。
要为每个目标构建创建这些文件,请转到BuildSettings,搜索图标,然后将“ 资产目录应用程序图标集名称”的值更改为所需的应用程序图标文件名。
注意:在plist和CI系统中添加新文件,依赖项(pod)和iOS权限时,您必须谨慎。 确保选择了所有已创建的目标,以便为所有目标编译这些文件,从而避免了编译器问题。
如果您喜欢这篇文章,并且对您有所帮助,请给我一些鼓掌! 请关注我的媒体! 请关注AppIt Ventures,以获取其他类似文章。 谢谢😄