ITKeyword,专注技术干货聚合推荐

注册 | 登录

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

diyal 分享于 2016-05-23

推荐:ios开发学习--cocos2d(cocos2d)效果源码分享--系列教程

模仿合金弹头Demo 介绍: 利用 cocos2d 模仿合金弹头的特种任务做的一个demo,包括几个场景,可以发射子弹、跳跃和前进。 http://ios.itmdc.com/thread-5444-1-1

2018阿里云全部产品优惠券(新购或升级都可以使用,强烈推荐)
领取地址https://promotion.aliyun.com/ntms/yunparter/invite.html

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中设置引用的库文件
设置库文件

iOS多Target(channel)方案 Cocos2d-x开发,发包是一个比较繁琐的事情,苦于维护各个渠道需求,把代码搞得乱七八糟的。不同的开发人员不遵守规则,到最后维护比实际需要的人力成本多了很多。幸

相关阅读排行


用户评论

游客

相关内容推荐

最新文章

×

×

请激活账号

为了能正常使用评论、编辑功能及以后陆续为用户提供的其他产品,请激活账号。

您的注册邮箱: 修改

重新发送激活邮件 进入我的邮箱

如果您没有收到激活邮件,请注意检查垃圾箱。