项目' Pods' - 启用整个模块优化

时间:2017-10-13 03:58:31

标签: swift xcode cocoapods xcode9

在Xcode 9中,我对可可豆荚项目得到以下建议: suggestion

它做什么?而且,我应该打开它,还是会破坏它?

2 个答案:

答案 0 :(得分:17)

通过将以下pods install脚本添加到post_install的末尾,您可以在每次运行Podfile时自动启用此功能。

post_install do |installer| 
  installer.pods_project.build_configurations.each do |config|
    if config.name == 'Release'
      config.build_settings['SWIFT_COMPILATION_MODE'] = 'wholemodule'
    end    
  end
end

在旧版Xcode中,您需要:

post_install do |installer| 
  installer.pods_project.build_configurations.each do |config|
    if config.name == 'Release'
      config.build_settings['SWIFT_OPTIMIZATION_LEVEL'] = '-Owholemodule'
    else
      config.build_settings['SWIFT_OPTIMIZATION_LEVEL'] = '-Onone'
    end    
  end
end

答案 1 :(得分:10)

  

使用整个模块优化允许编译器查看所有   模块中的源文件。这使编译速度变慢但允许编译   优化通用功能,即使它们位于不同的源中   文件。您可以在执行时间的最终测试运行中看到这一点   现在对于本地和外部函数定义都是相同的。

     

总之,如果您不介意额外的编译时间,请尝试转动   关于发布版本的整体模块优化。

source应该可以让您更深入地了解整体模块优化

下次运行pod install时,Xcode所做的对Pods项目的任何更改都会被吹走,因此必须在Cocoapods中进行更新以消除此警告。有关此here的讨论。

短期解决方案是将post_install脚本添加为Mike suggested