美文网首页iOS开发攻城狮的集散地
iOS Xcode一个progect下创建多个target

iOS Xcode一个progect下创建多个target

作者: 球球ol | 来源:发表于2017-05-09 19:36 被阅读70次

          前端时间公司有这样的需求,为了区分渠道推广,我们app需要创建个渠道版,其实和正式版基本是没有区别的,只是对于开发人员需要区分不同版本,但是一切的一切对用户是透明的,所以研究了下,参考了下一些文章,整理个简单详细的版本,也便于自己记忆。

          首先,强调下使用场景是,版本之间的差异很小,需要共享大量资源

    1,比如如下是我们的正式版本,我们需要在这个progect下面再创建一个target,从而实现资源共享和互异。

    图1

    2,右键TARGETS下面的Demo_多个target,选择Duplicate

    图2

    如果有如下提示的话,选择Duplicate only,如果没有的话,就直接复制了一个target

    图3

    生成如下

    图4

    3,单击target的名字,进行修改

    图5

    在这里,我把分支版本命名为Demo_branch

    除此之外,还有几个地方需要修改

    (1)

    图6 图7

    (2)在桌面创建一个名字为Demo_branch的文件夹,拖入工程中

    图8

    (3)把创建分支版本target时生成的plist文件拖到Demo_branch文件夹中,并改名为Demo_branch.plist

    图9

    (4)重新选择Demo_branch.plist文件的位置

    图10

    选择完成后可能没有反应,此时你点一下别的页面,再回来就OK了,效果如下图

    图11

    至此,分支版本就创建成功了,选择不同的target运行不同的程序

    图12

    此时两个版本的资源是一样的,如果我们要有所区别,可以用一个宏定义来区分

    4,在TARGETS选择Demo_branch-->BuildSettings-->Preprocessor Macros给debug和release模式添加一个参数

    图13

    标记好后就可以在需要差异化资源的地方用这个宏定义了

    #ifdef Demo_branch

    #else

    #endif

    图14

    嗯嗯,这就差不多了,资源也可以差异化使用,分支版本的启动页,icon,bundleID都可以用自己的,完全是独立的。

    相关文章

      网友评论

        本文标题:iOS Xcode一个progect下创建多个target

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