Swift:Xcode Debug模式下如何为单个类开启Release级编译优化
实现方案
完全无需封装独立框架,直接修改单个源文件的编译参数即可实现需求,操作步骤如下:
- 打开Xcode项目,选中左侧导航栏的项目根节点,进入对应TARGETS的配置页面
- 点击顶部的 Build Phases 标签,展开 Compile Sources 列表
- 找到需要单独启用优化的类对应的
.m/.cpp/.swift源文件,双击右侧的Compiler Flags输入框 - 按照开发语言输入对应编译参数:
- Objective-C/C/C++ 文件:输入
-Os -DNDEBUG,-Os是Xcode Release模式默认的最优性能+最小体积优化等级,-DNDEBUG会关闭调试断言、NSAssert等调试特性,和全局Release编译效果完全一致 - Swift 文件:输入
-O -DNDEBUG,如果要开启全模块优化可以补充-whole-module-optimization
- Objective-C/C/C++ 文件:输入
- 保存配置后重新编译项目即可
该配置仅对选中的单个源文件生效,项目其他所有文件仍然保留全局Debug模式的编译参数,断点、调试日志、调试工具等功能不受任何影响。
配置验证
你可以在对应类中插入如下代码,运行后即可确认配置是否生效:
// Objective-C 验证代码 #ifdef NDEBUG NSLog(@"当前文件已启用Release级优化"); #else NSLog(@"当前文件为Debug编译模式"); #endif
// Swift 验证代码 #if DEBUG print("当前文件为Debug编译模式") #else print("当前文件已启用Release级优化") #endif
提示:修改编译参数后如果出现配置不生效的情况,执行Product → Clean Build Folder清理编译缓存后重新编译即可。
内容的提问来源于stack exchange,提问作者user2330482
相关产品推荐
相关产品推荐

