Ios Xcode:在普通语言中,什么是目标和方案?
是的,书名上写着:-)它们在简单的英语中是什么意思?我真的不明白苹果网站上的解释,我需要重新命名我的目标,我担心在那之后一切都不起作用。Atarget是通过在Xcode中运行“build”创建的最终产品。它可能是应用程序、框架、静态库或单元测试包。不管它是什么,它通常对应于“Build products”文件夹中的单个项目 方案表示与您一起工作的目标集合。它定义了当您在Xcode中选择各种操作(运行、测试、配置文件等)时使用的目标。通常,您只有一个方案,该方案将主应用程序目标用于运行、归档和配置文件操作,并将单元测试目标用于测试操作。如果您正在构建两个相关的应用程序,那么可能有两个方案使用相同的单元测试包,但应用程序目标不同Ios Xcode:在普通语言中,什么是目标和方案?,ios,xcode,xcode-scheme,xcode-target,Ios,Xcode,Xcode Scheme,Xcode Target,是的,书名上写着:-)它们在简单的英语中是什么意思?我真的不明白苹果网站上的解释,我需要重新命名我的目标,我担心在那之后一切都不起作用。Atarget是通过在Xcode中运行“build”创建的最终产品。它可能是应用程序、框架、静态库或单元测试包。不管它是什么,它通常对应于“Build products”文件夹中的单个项目 方案表示与您一起工作的目标集合。它定义了当您在Xcode中选择各种操作(运行、测试、配置文件等)时使用的目标。通常,您只有一个方案,该方案将主应用程序目标用于运行、归档和配置
方案(在Xcode 4中引入)的主要好处是,它们允许您在运行应用程序和单元测试之间切换,而无需切换选定的目标。我也在Workspace和Project中添加了这些方案
- 工作区-包含一个或多个项目。这些项目通常相互关联
- 项目-包含代码和资源等(您将习惯这些!)
- 目标-每个项目都有一个或多个目标。
- 每个目标定义该项目的生成设置列表
- 每个目标还定义了类、资源、自定义脚本等的列表,以便在构建时包括/使用
- 目标通常用于同一项目的不同分布。
- 例如,我的项目有两个目标,一个“普通”版本和一个“office”版本,这两个版本具有额外的测试功能,可能包含多个背景音乐曲目和一个更改曲目的按钮(与当前一样)
- 您将习惯于在添加类和资源时将它们添加到默认目标中
- 您可以选择将哪些类/资源添加到哪个目标。
- 在我的示例中,有一个“DebugHandler”类被添加到我的office构建中
- 如果添加测试,这也会添加新的目标李>
- 方案-方案定义了当您按下“构建”、“测试”、“配置文件”等时发生的情况。
- 通常,每个目标至少有一个方案
- 通过转到“方案>管理方案”并按“立即自动创建方案”,可以为目标自动创建方案
目标是您的项目的一个版本,即目标在构建期间使用的类和资源略有不同。一个项目可以有多个构建时间设置以满足单独的分发要求。Xcode结构 (
.xcworkspace
)-是多个项目的容器。它是作为跨项目参考的下一步创建的
工作区
包含包含的项目中的所有方案
Workspace
处理所有隐式依赖关系
意见:
- 在同一个
工作区内处理不同的项目是安全的,并且不会捕获
Cocoapods
使用workspace
创建Pods
项目的地方
项目
(.xcodeproj
)-它是目标
和方案
的容器。它定义代码文件、资源
另外,项目
管理构建配置
(由方案
更改)和构建配置文件
您可以将现有的项目
转换为工作区
File -> Save As Workspace...
目标
-PBXNativeTarget
部分。定义生成以下内容的特定生成设置集:
应用程序目标
库和框架目标
测试
聚合
。例如,它用于创建通用框架
或伞式框架
方案
可以有任何自定义名称
Target -> one or many Scheme -> action(run, test, profile, analyze, archive) -> Build Configuration, pass some arguments...
Schema
可以共享,这有助于您进行CI,迦太基
。。。地址:
/.xcodeproj/xcshareddata/xcschemes
相关性
-目标
可以具有相关性
。依赖项是针对的源链接。这些依赖关系可以静态或动态链接。它们有两种类型:
显式依赖项
-位于同一项目或嵌套项目中的依赖项的源代码
隐式依赖关系
-位于同一工作区的项目中的依赖关系的源代码/封闭代码
我的想法:
目标——一种较低的抽象——各种类型的构建。每个目标都有自己的构建设置(因此,如果您拆分为多个目标,请分别为每个目标处理这张巨大的表)。目标可以方便地包含/排除文件,因此您可以基于每个文件有效地配置生成
方案——一种更高的抽象——通过各种部署方式(运行、测试、归档)指导目标
Target -> one or many Scheme -> action(run, test, profile, analyze, archive) -> Build Configuration, pass some arguments...
<project_path>/<project_name>.xcodeproj/xcshareddata/xcschemes