swift学习专题

Swift 多开发环境配置

2018-11-27  本文已影响3人  XiaoWhite

当我们在开发的过程中,一般至少有两个环境:开发环境和线上环境。
在上线之前需要设置到线上环境,一般都是对服务器地址以及一些其他参数的设置,对于这些参数的配置,方法有多种,这里介绍的是我经常用的一种:创建多个 target

目前使用的是 Xcode10.1
参考链接:
https://www.jianshu.com/p/f85b58436363
https://www.jianshu.com/p/9a93e614a98e

创建 Target

在原来的 Target 上右键,选择 Duplicate,复制一个新的 target,默认名字是 SwiftExercise copy,同时产生一个新的 XXX copy-info.plist 文件

复制 target.png

配置新的 Target

名字修改

点击新的 target ,回车,修改成你需要的名字,同时修改新 target 对应的 info.plist 文件名字,修改 Manage Scheme 中新的 target 的名字

修改 Manage Scheme 中的名字.png

Build Settings 配置

因为我们修改了默认的 info.plist 文件名字,甚至移动了这个新的 plist 文件的位置,所以需要在 新的 target 中指定它所对应的 plist 文件,


Snip20181127_3.png

另外,我们需要给新的 target 设置一个 flag(作用后面讲),对于 flag 的格式,写成一行或者两行都可以,这种格式也是可以的 "-DENV1"

Snip20181127_1.png

环境控制

创建一个 swift 文件,在这个文件里面各个环境的地址,这里的 ENV1、ENV2 就是我们上一步在 Build Settings 中添加的 flag

#if ENV1
    let ServerRoot = "www.env1.com"
#elseif ENV2
    let ServerRoot = "www.env2.com"
#else
    let ServerRoot = "www.prd.com"
#endif

这样设置以后,当我们在不同的环境中,ServerRoot 就是这个环境下对应的地址。

以下内容为可选的

同一个项目,不同的 BundleID

我们创建了多个 target ,每个 target 都可以单独设置它的 Bundle Identifier,运行的时候,它们就是不同的 App 了,一台手机上可以同时安装不同环境的App。但这也有一个麻烦的地方,因为是不同的 App 了,如果你集成了推送,就要为他们分别创建推送证书。

image.png

每个环境对应自己的 AppIcon

创建新的 AppIcon,并修改名字,


image.png

在对应的 target 上设置 App Icons Source,这样不同的环境就有不同的 AppIcon 了

image.png
上一篇下一篇

猜你喜欢

热点阅读