1. 请简述 Xcode 中 Project 和 Targets 的区别和联系?
一份代码,六份 Targets
- Project 就是一个项目,或者说工程,
一个 project
可以对应多个 target
- Targets 之间完全没有关系。但 Target 和 Project 有关系,
Target Setting
会从Project Setting
中继承一部分 -
总结:
一个 Project 可以有多个 Targets,Targets的编译设置可以不同,从而编译出不同版本的 Product。
2. 请简述对 Build Settings 的认知?
- 一个 build setting 是一个变量,包含着这么 build product 的处理信息(一般是编译相关的信息)
- build settings 有 project 和 target 两个级别
3. 请简述对 Workspace 的认知?
- 一个 workspace 是 project 的上层文件,通过 workspace 你可以同时管理多个 project
- 出了组织每个 Xcode projects 中的所有文件外,workspace 还提供 projects 与他们各自 targets 之间的隐式/显示关联
4. Build Setting 中 Header Search Paths 与 User Header Search Paths 区别?
-
Header Search Paths:
支持#import <SomeClass.h> 和 #import "SomeClass.h"
两种方式 -
User Header Search Paths:
仅支持#import "SomeClass.h"
一种方式 - 参考文章://www.greatytc.com/p/d41e05e6d9fa
5. Build Settings 中的 Library search path 和 Framework search path 分别是什么?
-
Library search path:
管理导入的*.a
的路径 -
Framework search path:
管理导入的*.framework
的路径