美文网首页
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