iOS开发 实现渠道包(swift)

随笔8个月前发布 转瞬即逝
81 0 0

在一个现有的项目扩展多渠道,考虑到以后的维护,尽量还是保持一个xcodeProject。并可以较容易的用git进行迭代管理。

渠道包的需求:

1,修改配置(证书,bundleID,等等)
2,修改字符串(如推广文本,公司名称等)
3,修改代码逻辑
4,修改icon,图片图标,配色等资源

一,分渠道配置

Xcode->targets->右键主target->Duplicate,即可复制一份配置,可以将证书,bundleID等改为渠道要求的内容

二,分渠道适配字符串

1,swift中的条件编译:

OC中,可以用宏定义加#if,#else,#elif, #endif来为不同渠道进行条件编译。Swift中也可以实现:
需要在xcode新建的target中设置:

iOS开发 实现渠道包(swift)

选中新建的target,在这几处添加条件编译需要判断的宏。注意和oc不同的是,不能给复制
比如“channl1 = xxx”是不可以的
然后代码中就可以条件编译了了:

#if CHANNEL1
let cl_APPID = "xxxx"
let cl_needCheck1 = false
let cl_Appname = "appName1"
let cl_Company = "Company1"
#elseif CHANNEL2
let cl_APPID = "xxxx"
let cl_needCheck1 = false
let cl_Appname = "appName2"
let cl_Company = "Company2"
#else
let cl_APPID = "xxxxxx"
let cl_needCheck1 = true
let cl_Appname = "appName3"
let cl_Company = "Company3"
#endif

这样就可以实现分渠道适配不同字符串,以及在代码中增加逻辑来进行功能适配:

label.text = cl_Company
....
func check(){
  if cl_needCheck1{
  //do something
  }
}

三,分渠道使用资源文件

一般工程里面都是会用Assets包来管理图片,颜色等资源文件
我们只需要在文件目录中New File->Asset Catalog新创建一个资源包,并选中,在最右边Target Menbership中选定生效的target,就可以分渠道使用不同资源包了。

iOS开发 实现渠道包(swift)

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...