一、Xcode中的Project和Target
打开工程时,我们会看到如下图所示的界面。产品属性包括Project和Target两块内容。一个工程只有一个Project,但可以有一个或多个Target。
1、project就是一个项目,或者说工程,一个project可以对应多个target(你看看上面的图)其中一个target可以生成一个对应的product(看下图)
DYTest:是target名称为DYTest生成的product
targetDemo:是target名称为targetDemo生成的product。
切换不同的target
来到这个页面
2、targets之间完全没有关系。但target和project有关系,target的setting会从project settings中继承一部分(看下图)
3、Target指定的内容:
3.1. Build Phases
Target Dependencies Target依赖,某些Target可能依赖某个Target输出的值,这里设置依赖
Copy Bundle Resources 是指生成的product的.app内将包含哪些资源文件
Compile Sources 是指将有哪些源代码被编译
Link Binary With Libraries 是指编译过程中会引用哪些库文件
3.2. Info
这个Info.plist文件内定义了一个iPhone项目的很多关键性内容, 比如程序名称, 最终生成product的全局唯一id等等.每一个Target都有一个info.plist文件来设置本target的一些属性
二、创建target
方法一:
1、复制已有target
2、Xcode 会询问你这个 target 是不是针对于 iPad 开发的。 “Duplicate Only” 的意思很明显了吧。
提示:如果你的项目支持通用设置,则 Xcode 不会提示上面的消息。
3、现在我们有了一个名为 targetDemo Copy的新 target 。我已经重命名为DYTest了(见整个文章的第一张图)。接下来,来到 “Manage Schemes…”,中同样把名字改为DYTest !
方法二:
1、新建一个target
剩下的步骤与创建一个工程的步骤是一样的,不在截图了。
2、创建完成之后见(第一张图)。
通过这种方法新建的target,同时生成一套完整的文件——main.m、AppDelegate、ViewController和MainStoryboard.storyboard,它们独立于原来的Target而存在。
参考文章:
http://www.jianshu.com/p/e304247ede59
http://book.2cto.com/201307/27017.html
http://blog.csdn.net/zhaozy55555/article/details/8557175