iOS开发中关于工程结构有三个关键部分,分别是:Targets,projects 和 workspaces.
Targets指定了工程或者库文件如何编译,包括building setting,compiler and linker flags,以及定义哪些文件(源文件和资源文件)属于工程。当运行或编译时,只能指定某一个target用于激活。
有时候可能会有多个target,它们共用一些源文件和资源文件,这些不同的target可以是app的稍微有点区别的不同版本(例如iPad/iPhone等)。所有这些相关的target可以被组合到一个project中。这个project包含其所有的target的所有文件。对于相同的build setting ,可以在project的build setting 中设置,对于某个target需要不同的设置,则对其build setting 单独设置即可。
*注意:对于project中build setting的设置,组成project的所有target都会继承,除非target单独设置。
workspace是多个project的集合,其包含和管理projects,workspace包含的所有的project都是相同的等级,并且它们的target是相互依赖的。
可参考 https://developer.apple.com/library/content/featuredarticles/XcodeConcepts/Concept-Projects.html#//apple_ref/doc/uid/TP40009328-CH5-SW1
时间: 2024-10-11 03:55:14