Cocos2d-x开发系列 iOS多Target方案

iOS多Target(channel)方案

Cocos2d-x开发,发包是一个比较繁琐的事情,苦于维护各个渠道需求,把代码搞得乱七八糟的。不同的开发人员不遵守规则,到最后维护比实际需要的人力成本多了很多。幸亏我们可以通过多channel方案来解决这个问题。例如我们公司的游戏,iOS就对应的很多渠道,光Applestore就很多,还有部分越狱渠道。不过这些都是换icon、换皮而已。当然有些人,说我可以拷贝工程,但是有没有想过维护成本?修改Bug后每次都要同步到各个工程分支中。


新建channel方案

  • Duplicate target,然后将plist文件移动到相应位置。然后再修改schemes
  • 修改scheme名称
    怎么复制target
  • 然后修改plist中的identity相关信息,设置号名称等信息。
  • 修改URL Schemes。提供外部调用。
    如何添加URL Schemes
  • 设置Packaging信息。如info.plist file路径
    修改target的plist文件
  • 每个target可以设置自己的启动图和闪屏图
    设置闪屏和启动图
  • 设置自己的签名及描述文件
  • 设置channel各自的文件,选择好target membership

资源文件的快速替换

当然这里大家最担心的一个问题是,不同的资源文件、配置文件怎么差异化?
我们可以这么处理,开发的时候将明显的特殊性的图片资源规划好,例如登录的封面的logo,产品名称都独立出来。方便我们换图的时候,美术直接将这部分图修改后,我们文件夹替换即可。
每个target的Copy Bundle Resources都可以看到我们的资源。
在默认resources中我们可以选择资源对应的Targets Membership。
选择target membership

为每个Channel设置Icon和闪屏图

如何设置每个channel的app icon和LanuchImage?
在target的General选项卡中设置好App Icons and Launch Images选项
设置app icon和闪屏图

维护一套代码的要诀

既然我们在一个工程中设置了多个target或者说是channel方案。那么诱人会问不同的渠道有不同的代码,怎么区分?
这事一个好问题,我们可以定义宏定义来区分

Build Settings选项卡中,在图示区域添加自定义宏来区分
设置自定义宏

然后代码如下:

#if defined (PACKAGE_TYPE_SPECIAL) //定制包
    ......
#else
    ......
#endif

引用不同的库文件

项目中不同渠道接入不同的SDK是比较常见的。我们可以在Library Search中设置引用的库文件
设置库文件

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值