Swift-单项目多Target开发

前言

  • 多端情况,商家端和用户端等,不同端的App名字、图标、启动界面等不同,以及一些模块上的不同;
  • 多环境情况,开发环境、测试环境、生产环境等,为了更好的区分需要显示不同的App名字、图标等。

新建Target

  • 通过duplicate创建Target时内部操作
    1.建立scheme环境
    2.生成Target
    3.生成info.plist文件
拷贝原项目
  • 默认情况生成的target名字会以项目名后跟copy来命名,此时为了便于阅读,可同步修改以下三个地方的命名
    1.scheme环境名
    2.target名称
    3.info.plist文件名
    注意修改plist文件名后,需要同步修改packageing中info.plist file关联
需要同步修改命名的地方

设置对应App名字

  • 不同的版本需要展示的app名字

设置对应App图标

1.在主Assets文件中新建AppIcon,设置对应App图标名
2.与Primary App Icon Set Name参数进行关联

创建App Icon并关联

设置登录页Storyboard

  • 不同版本需要展示的登录页
    1.创建.storyboard文件,设置对应登录页名
    2.选中对应info.plist文件设置Launch screen file base name参数为对应登录页名
创建并关联登录页

为了便于管理与阅读,我们可以单独将对应端的文件归类至单独的文件夹中

区分使用不同代码

1.设置对应的自定义标识符,这里的Active Compilation Conditions与Other Swift Flags可以达到相同的效果,但为更好的区分开发、测试、生产环境,建议在Other Swift Flags中添加标识符,注意在Other Swift Flags中需要在标识符前添加 -D,多个标识符需要再每个标识符前都添加上-D,否则将报以下错误

Showing Recent Issues
Command CompileSwiftSources failed with a nonzero exit code

对于Active Compilation Conditions则不需要添加-D前缀

标识符设置

2.代码层面的区分使用,这里与Release与Debug环境的区分使用相同

func test() {
  #if Buyer
    //买家端代码
  #elseif Selller
    //卖家端代码
  #endif
  //多端通用代码
}

切换运行与打包

直接选择对应的scheme进行运行与打包即可

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容