- Xcode Run、Xcode Clear 基本是我们用的最多了,但是它具体干了些啥呢?
源自前几天在面试一个小伙伴时突然想到的问题。
-
点击 Run 之后发生了什么?
这篇文章中基本上说明白了 Xcode Run 中要做的啥啦? ==> 编译 - 汇编 - 静态链接 - 签名 - 启动
好奇的话就是我们每次 Run 之后跑了一些啥的:



在这这里除了汇编,其他都是很直接的显示的。
-
Xcode Clear : 建立文件架构 .app 文件, 删除之前 Target 的 .dSYM 文件, build 文件,frameworks 文件
Clear
下面可以说每次编译完整步骤:
- 编译信息写入辅助文件,创建文件架构 .app 文件
- 处理文件打包信息
- 执行 CocoaPod 编译前脚本,checkPods Manifest.lock
- 编译.m文件,使用 CompileC 和 clang 命令
- 链接需要的 Framework
- 编译 xib
- 拷贝 xib ,资源文件
- 编译 ImageAssets
- 处理 info.plist
- 执行 CocoaPod 脚本
- 拷贝标准库
- 创建 .app 文件和签名
同时衍生一个问题,每次我们切换分支时,我们都需要重新编译一次很耗费时间,能否有办法让其每次不需要重新编译一下,毕竟每次可能需要五六分钟的。
PS: build 过程控制的这些设置都会被保存在工程文件 .pbxproj 里, 所以我们有小伙伴是直接缓存这块的东东来规避这个问题,想想还有其他优化方案吗?
网友评论