• 在Xcode中添加多个targets进行版本控制,就是同一个app开发多个版本
  • 以Xcode 9.3 为例

1. 创建

  • 点击左侧工程项目文件,选择TARGETS 下的项目右击选择 Duplicate。

  • 看到这个弹框:(标准iPhone程序选Duplicate Only,如果需要iPad就选Duplicate and Transition to iPad)

  • 就会看到TARGETS 下会出现一个 testCode copy

2.改名字

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

  • (2)修改xcode左下方Products下的TestCode copy.app名称
  • 选择新加的项目名,选”Build Settings” 搜索 “Packaging”下的”private Headers Folder Path”,修改testCode Copy/PrivateHeaders为 “TwoTestCode.app/PrivateHeaders”;

  • (3)把TARGETS 下的名字也改一改

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

  • Xcode 9.3已经把 .plist 生成了(多人性化啊)

  • 接着直接创建个新的文件夹放 TwoTestCode的资料。(建议在工程文件夹里面创建再拖拽进来,记得选的是TwoTestCode)

  • 之后就是这样

4.修改程序的名字和国际化

  • 看这个帖子加国际化--- app多target 国际化语言设置
  • target的程序名称都会不同,复制zh-Hans.lproj和en.lproj下的InfoPlist.strings文件到先前创建的TwoTestCode文件,然后修改InfoPlist.strings的内容:"CFBundleDisplayName"="TwoTestCode";
  • 注意选择类型来改:

5.设立全局的宏定义来区分

  • 选择TARGETS下的testCode->Build Setting,搜索:Preprocessor Macros,设置Debug和Release里的预编译宏内容,比如:TARGET_VERSION_LITE=1
  • (注意=前后不能右空格,有空格会编译不过)

  • 最后:程序中对不同版本这样判断:
- (NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section {

	#if TARGET_VERSION_LITE ==1
return6;
#elif TARGET_VERSION_LITE ==2
return5;
#endif
return5;
}

最新文章

  1. Linux C语言解析并显示.bmp格式图片
  2. jQuery视差滚动插件,(附原理分析,调用方法)
  3. ASP.NET Web API 2框架揭秘
  4. WebApi:WebApi的Self Host模式
  5. MySQL性能优化笔记整理
  6. c++内存分配
  7. 如何快速建立Subversion服务器
  8. C#导出数据的EXCEL模板设计
  9. VBA基础概念
  10. css复合属性的写法
  11. 一个人开发的html整站源码分享网站就这么上线了
  12. Ubuntu14.04和16.04官方默认更新源sources.list和第三方源推荐(干货!)
  13. mysql创建新用户出现错误处理
  14. Linux 信号signal处理函数
  15. 纯手写SpringMVC框架,用注解实现springmvc过程
  16. [Java] SpringMVC工作原理之一:DispatcherServlet
  17. 20165223 2017-2018-2《Java程序设计》课程总结
  18. MacTex TexStudio Configuration 配置
  19. 20165303实验一 Java开发环境的熟悉
  20. win 7 64 mysql 5.6.4 安装

热门文章

  1. 使用airodump-ng扫描网络
  2. js中的Array
  3. spring-cloud配置ribbon负载均衡
  4. java成神之——集合框架之Array
  5. apache 不解析 php
  6. C#递归所以部门展示到TreeView
  7. <正则吃饺子> :关于redis集群的搭建、集群测试、搭建中遇到的问题总结
  8. deeplearning.ai 旁听如何做课后编程作业
  9. Celery 与 Flask 大型程序结构的结合
  10. IDEA启动缓慢且运行卡顿