Xcode中的Target基本使用详解

Target简介
多个Target的使用场景
Target的使用


使用Xcode创建工程时默认的设备是iPhone,并且默认选中Include Unit Tests(单元测试)和Include UI Tests(UI测试), 创建成功后可看到四个文件夹 (工程名字、TestTests、TestUITests、Products),在开发中一般都是关注在工程名字下的文件家,对于其他文件夹一直没有在意过,现就研究一下

这里写图片描述

工程目录:四个文件夹(3个Target文件夹:(工程名字、单元测试、UI测试)、Products),从下面第二张图中可以得知单元测试和UI测试都在TARGETS下面,那他们也是Target,从图一可以得知前三个文件夹,每个文件夹对应一个Target,同时也对应一个Product的(Products目录下有三个文件),每个Target文件夹都是真实文件夹并且每个下面都有一个Info.plist,这说明他们可以独立管理

这里写图片描述———–这里写图片描述

在工程中,一个Target对应一个Product, 一个Project包含多个Target,Target中的Build Settings会继承自Project的Build Settings

在中国开发一般都很少进行单元测试,对于iOS来说我在学习过程中从来都没有接触过单元测试,一次都没有接触过,都是关注最上面那个Target文件夹。

多个Target的使用场景

  1. 通常创建工程的时候默认的Devices是iPhone,如果公司刚开始只开发了iPhone设备上的App,后来想开发iPad上的App,而iPad上的App和iPhone上的App功能界面有很多相似之处,那么如何开发iPad上的App呢?复制之前的App对应的Target命名为iPad,然后在iPad对应的Target上进行开发
  2. 添加其他工程到当前工程
  3. 添加静态库
  4. 版本控制(最新版本、测试版本、生产版本): 比如为了防止测试人员混淆App是测试版本还是生产版本,可以使用不同的App的名字和不同的App Icon加以区分

Target的具体使用

  1. 通过复制某个Target来创建一个新的Target, 选中第一个Target,然后右键,Duplicate,弹出一个框询问你是只是仅仅复制,还是复制并转成iPad,这里选择的是Duplicate Only,复制成功后可以看到在TARGETS中多了一个 Test copy, 在Products文件夹中也多了一个Test copy.app, 工程根目录下多了一个Test copy-Info.plist文件
    这里写图片描述

这里写图片描述

这里写图片描述

2、看到Target的名字带有copy不爽,给她重命名,双击即可重命名,重命名后可以看到Products文件下对应的Test copy.app 的名字随着改变,继续重命名Test copy-info.plist文件,这还没有完,选择Product—>Scheme—>Manage Schemes,双击选中的Scheme,修改Scheme对应的名字,修改新的Target对应的Build Settings—> Packaging—>Info.olist File 对应的新的plist名字
这里写图片描述

这里写图片描述

3、修改每个Target对一个的plist文件:Info.plist(Test), Test2-Info.plist(Test2) 中的Bundle display name(没有就添加) 和 Bundle identifier

这里写图片描述

这里写图片描述

4、分别选中每个Scheme,然后运行,此示例完成了同一个工程,打出了两个App,名字不一样
这里写图片描述

5、同理:也可以对App Icon和Launch Image 做不同处理
选中Assets.xcassets–>右键–> App Icons & Launch Images —> New iOS App Icon 并重命名为AppIcon-Test2, 然后分别为AppIcon和AppIcon-Test2添加对应的图标

这里写图片描述
这里写图片描述

修改每个Target中的Build Settings中的App Icon 对应的name
这里写图片描述

运行效果如图:
这里写图片描述

6、同理启动图也是一样操作

7、当添加新的Target的时候,在创建类或其他文件时,在Targets中会多出对应的Target,注意你要选中放到那个Target中,还是都放
这里写图片描述

如果使用了Cocoapods,在Podfile中需要指明target,可以使用link_with同时指定多个Target, 例如 link_with ‘TargetName’, ‘TargetName2’

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风流 少年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值