iOS-项目创建多个target
在开发中,有时需要两个或多个APP版本,每个版本的改动,不是很多,但是需要另外打包,那么我们就有两套方案:
1.重新开发,把代码复制一遍,然后在修改;
2.用一套代码,根据需求生成不同的包;
我们一般会用第二个方案,这时就需要根据不同的需求,创建不同的target;通过编译打包不同的target,做到相对应的APP需求;例如软件的普通版和增强版,测试版本和生产版本等;
1.创建 target
新建项目时,项目会自带一个target,找到TARGETS栏,选中当前的 target 右键选择 Duplicate ;【这种方式是直接复制,这里就说这一种方式】

2.修改 target 名字
双击新建的target:*** copy ,修改名称;【这里我将原 target 名称后加了Produc】

3.修改 info.plist 文件名
新 target 创建后会自动生成一个 *** copy-Info.plist文件,修改该文件名后,重新配置新 target 的 配置文件;【我将其修改为 MoreTargetProducInfo.plist】


4.修改新 target APP 名称和 Bundle identifier

5.修改 scheme 名字


6.配置 Debug 和 Release 模式下的宏【关键】
在 Build Setting 中,搜索 preprocessor macros ,分别在 Debug 和 Release 中添加自定义字段【我添加的是 XK_DEBUG】,并复制,两个 target 的值不同,用于项目编译区分;



7.测试
分别用不同的 target 进行编译运行

8.注意事项
1.因为项目有多个 target,在新建文件时,就要将文件添加到需要用到的 target 中;假如我现在需要新建一个UIView,如下图所示,具体添加 target 根据项目需求而定;

2.项目中集成 CocoaPods 后,如果有多个 target 需要注意不同 target 引用到的第三方;

iOS-项目创建多个target的更多相关文章
- Cordova 系列之创建一个iOS项目
1.打开终端 2.输入命令 $ cd Desktop (PS:Desktop表示放在桌面,你可以选择放任意位置) 3.$ cordova create HelloWorld com.example. ...
- [AIR] NativeExtension在IOS下的开发实例 --- IOS项目的创建 (一)
来源:http://bbs.9ria.com/thread-102037-1-1.html 最近看到本版块的很多关于NativeExtension的应用.但是都是在Android下面的应用.也有很多朋 ...
- iOS开发中如何创建多个target
在开发iOS应用程序的过程中,经常需要根据不同的需求,切换到不同的项目配置,或者打不同的包(测试环境.开发环境.生产环境等等),如果每次都是手动配置,一则比较麻烦,二则容易配置错,那么有没有更好的方案 ...
- 创建ReactNative的iOS项目
http://reactnative.cn/docs/integration-with-existing-apps/ 1.安装好ReactNative开发环境 2.安装好CocoaPods 3.创建项 ...
- 配置iOS项目的设备系统目标设置:Base SDK和Deployment Target
配置iOS项目的设备系统目标设置:Base SDK和Deployment Target Xcode为开发者提供了两个可配置的设置:第一个是Base SDK,第二个是iOS的Deployment Tar ...
- iOS 一个项目添加多个TARGET
项目开发中会存在测试.正式等不同环境,需对应不同接口Host地址.项目名称等等配置.如果每次只有一个项目target的话每次打包的时候替换会很麻烦,而且容易出错.所以我们可以通过创建多个不同配置的ta ...
- phonegap创建的ios项目推送消息出现闪退现象
使用phonegap创建的ios项目,推送消息时,当程序在前台运行或者在后台运行状态下,推送消息过来,可以解析并且跳转: 但是在程序从后台退出的状态下,当消息推送过来的时候,点击通知栏,打开程序,程序 ...
- ios学习总结(1) -- 创建第一个ios项目
原文地址 下载并打开xcode. 接着新建一个工程,如下图所示: 点击Create a new Xcode project,之后选择ios下的Application,点击Single View App ...
- 关于ios项目沙盒中的文件和Xcode项目创建的文件
//1.1获取在Xcode项目打开的情况下创建的Plist文件 NSString *path = [[NSBundle mainBundle]pathForResource:@"Profes ...
- [Xcode 实际操作]一、博主领进门-(1)iOS项目的创建和项目模板的介绍
目录:[Swift]Xcode实际操作 本文将演示iOS项目的创建和项目模板的介绍. [Create a new Xcode project]创建一个新的项目. 在弹出的模板窗口中,显示了所有的项目模 ...
随机推荐
- 用模糊查询like语句时如果要查是否包含%字符串该如何写
- fastjson 错误解决方案详情 com.alibaba.fastjson.JSONException: syntax error, expect {, actual EOF, pos 1410
原因: 前端传递的数组过于复杂,倒是出现这种问题,前端采用vue axios,发送请求,后端java接收代码,实现前后端分离 后端就收fastjson接收json,进行业务处理,后端Controlle ...
- js读取后端写入cookie出现乱码
设置字符编码集即可 Cookie cookie = new Cookie("user",URLEncoder.encode(nMessage, "UTF-8") ...
- 20155205 2016-2017-2 《Java程序设计》第7周学习总结
20155205 2016-2017-2 <Java程序设计>第7周学习总结 教材学习内容总结 第十二章 只要静态方法的方法命名中参数于返回值定义相同,也可以使用静态方法来定义函数接口操作 ...
- Matlab绘图添加直角坐标轴
绘制y=x^2,并添加直角坐标轴. clear;clc;close all %% 绘制方程 x = -10:0.01:10; figure; y = x.^2-30; plot(x,y,'k','li ...
- 通过pip安装套件
pip3 install requests pip3 install BeautifulSoup4 还需要使用jupyter: pip3 install jupyter 打开jupyterbook ...
- 自定义cell的高度
// // RootTableViewController.m // Share // // Created by lanouhn on 15/1/20. // Copyright (c) 2 ...
- js中对String去空格
str为要去除空格的字符串: 去除所有空格: str = str.replace(/\s+/g,""); 去除两头空格: str = str.replace(/^\s+|\s+$/ ...
- noip第21课作业
1. 遍历二叉树 [问题描述] 以先序的方式建立一棵二叉树,空结点用‘#’号表示,例如:abd###ce##f##,将建立一棵如下的二叉树: 输出其中序序列和后序序列,其中总结点个数不超过100. 输 ...
- codeforces815A Karen and Game 2017-06-27 15:22 31人阅读 评论(0) 收藏
C. Karen and Game time limit per test 2 seconds memory limit per test 512 megabytes input standard i ...