理论iOS开发iOS Developer

Xcode中的Project,Target,Workspace等

2017-03-06  本文已影响1426人  i顺颂时宜

注:转载需联系本作者赵先生Try

简介

今天来说说Xcode中几个概念,Project,Target,Build Settings,Scheme,WorkSpace。苹果官方参考文档中也说的很全面。本博文中以iOS项目做演示。

1.Project & Target

创建一个项目Beauty,那这个项目就可以称为一个Xcode Project。

Xcode Project是构建一个或多个软件产品所需的所有文件,资源和信息的存储库。

  1. 选择Target,选择区域的Target数量和Project editor的Target数量相同,且是一一对应的。

2.Build Settings & Debug / Release

  1. Debug Build Configuration表示调试构建,得到的最终可产品是调试版本,特点:含完整的符号信息,以方便调试,代码没有经过优化。
  2. Release Build Configuration表示发布构建,得到的最终可产品是发布版本,特点:不包含符号信息,不能进行调试(断点没有效果),代码会进行优化,执行速度比Debug版本快,大小比Debug版本小。

不同CPU架构需要的指令是不同的,以下是不同的架构和设备的对应关系。

3.Scheme

Scheme 定义了一组可以构建的Target,构建时所使用的构建信息,可执行的一组测试。Scheme是可以编辑的。

修改 Build Configuration

4.Workspace

Workspace是一个Xcode文档,可以包含多个Xcode Project,以及要包括的任何其他文件。

  1. 显示依赖:在Xcode中显示添加Target依赖关系.
  2. 隐式依赖:Xcode会自动遍历WorkSpace中所有的文件检查隐式依赖关系,如果Target A 引用 Target B 的编译的库,那么Target A 隐式依赖于Target B。如使用cocoaPods管理第三方,我们自己建的Target 引用cocoaPods创建的另一个项目Pods编译的库。

在Beauty 中 用cocoaPods 导入一个三方库MBProgressHUD(此处不做赘述)。此时Beauty工程引用了使用cocoaPods创建的工程Pods编译的库,即存在隐式依赖关系,为了项目Beauty的正常运行需先关闭原先的工程,选择.xcworkspace文件来打开Beauty工程,否则会编译报错。

用cocoaPods 导入三方库MBProgressHUD

总结

如果你有困惑被我的博文解答了,我很高兴。

上一篇下一篇

猜你喜欢

热点阅读