美文网首页
iOS开发 实现渠道包(swift)

iOS开发 实现渠道包(swift)

作者: 万年老参 | 来源:发表于2024-03-31 12:11 被阅读0次

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

渠道包的需求:

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

一,分渠道配置

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

二,分渠道适配字符串

1,swift中的条件编译:

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


截屏2024-04-01 11.39.20.png

选中新建的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,就可以分渠道使用不同资源包了。


截屏2024-04-01 12.05.21.png

相关文章

网友评论

      本文标题:iOS开发 实现渠道包(swift)

      本文链接:https://www.haomeiwen.com/subject/wxnvtjtx.html