美文网首页
ios 版本管理 添加2个Target 多工程开发

ios 版本管理 添加2个Target 多工程开发

作者: 踏平9天下 | 来源:发表于2020-03-06 14:28 被阅读0次

    在ios开发时,我们经常会遇到对同一个app开发多个版本(Pro、Lite、Free)的情况,这里就涉及到xcode里通过添加多个targets来进行版本控制的问题了,下面就简单说明一下:

      点击左侧的工程名称,右侧会出现PROJECT和TARGETS,点击你现在的target,假如叫A,右键弹出菜单中,选择Duplicate,复制一个相同的target,复制的target一般叫A copy,A copy和A的设置(编译条件、源文件、资源文件)完全一样,此时你可以根据需要修改A copy的编译条件和资源文件了;

    1、A copy的名称是不是显得不够专业?现在来修改一下:

    1)首先修改Xcode左上角的target名称:

    点击xcode左上角Run、Stop右边的工程名称,下拉框中选择Manage Schemes,在弹出框中,点击A copy那行,点击一次、再点击一次,就可以修改A copy为你想要的名字了,比如ALite;

    2)修改xcode左下方Products下的A copy.app名称:

    点击Targets下你刚才改名后的ALite,点击Bulid Setting,搜索Packaging下的Private Headers Folder Path,修改A copy.app/PrivateHeaders为:ALite.app/PrivateHeaders;

    2、修改Bundle Identifier和选择不同的证书,让app区分开来

    1)新target需要的.plist文件

      新建一个文件夹X,添加X到项目中,添加时选择target为ALite,不要选target A了,因为不是共用的;复制原来target的A-Info.plist到X,修改其名称为ALite-Info.plist,xcode中右键Add File To ...,选择添加到target ALite中;

    2)点击target: ALite ->Summary:提示你需要选择plist文件,选择1)中添加的ALite-Info.plist;

    3)点击target: ALite ->Summary:设置Bundle Idenfitier;

    4)点击target: ALite->Build Settings->Code Signing:选择另外的证书;

    3、修改程序名称

      一般说来,多个target的程序名称不同,复制zh-Hans.lproj和en.lproj下的InfoPlist.strings文件到X,xcode中右键Add File To ...,选择添加到target ALite中;然后修改InfoPlist.strings的内容:CFBundleDisplayName="程序名称Lite";

    4、2个target到现在就创建好了,你添加资源文件的时候,通过选择添加的target来控制不同版本的内容;再说一下预编译宏的事情:target->Build Setting,搜索:Preprocessor Macros,设置Debug和Release里的预编译宏内容,比如TARGET_VERSION_LITE=1表示lite版本(注意=前后不能右空格,有空格会编译不过),程序中对不同版本这样判断:

    #ifTARGET_VERSION_LITE==1

    ...

    #elifTARGET_VERSION_LITE==2

    ...

    #endif

    相关文章

      网友评论

          本文标题:ios 版本管理 添加2个Target 多工程开发

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