Xcode构建效率及编译速度提升

1.New Build System

特性: 降低构建开销,尤其可以降低大型项目的构建开销

Xcode12 Legacy Build System标注为弃用, 项目改为New Build System, 以下是部分编译问题:

1. Multiple commands produce '*/*.app/Assets.car'

原因: pod库中图片是通过 resource 的方式管理的,cocoapods会将它打包到 Assets.car 和 App 主工程图片打包的结果一致,导致 Xcode 主工程报错,大体意思是说工程包含多个 Assets.car

解决方案1: pod库中由之前的 resources 方式改为 resource_bundles 的形式

解决方案2:  #install! 'cocoapods',:disable_input_output_paths = > true,   禁用 input & output paths of the CocoaPods script phases

2.generate_multiple_pod_projects

在历史版本中,CocoaPods 总是生成一个 Pods.xcodeproj,它包含了编译项目所需的所有 targets 和 build settings, Pods.xcodeproj 文件越大,Xcode 用于解析其内容的时间越长,这会降低 Xcode 的使用体验。通过将每个 pod 库集成为其自己单独的 Xcode project,并嵌套在顶级 Pods.xcodeproj 下,可以显著提高大型 CocoaPods 项目的性能, 极大提升构建开销, 提升并行编译速度。

此外,在大型代码库中,这项功能特别有用,因为开发人员可以选择仅打开他们需要处理的特定 .xcodeproj(位于 Pods/ 目录下),而不是打开整个工作空间(workspace),那样可能会减慢其开发过程。

3.增量安装 :incremental_installation

当执行 ​pod install​ 时,CocoaPods 现在支持仅重新生成自上次 install 以来发生更改的 pod 库,而不是像之前那样重新生成整个 workspace。根据项目的大小,这样做对于每个 pod 库的 install 可以节省几秒到几分钟的时间。

此时你的PodFile应该是这样的: 

install! 'cocoapods',

         :generate_multiple_pod_projects => true,

         :incremental_installation => true

你可能感兴趣的:(Xcode构建效率及编译速度提升)