相关链接:https://clang.llvm.org/docs/SanitizerCoverage.html
- Target -> Build Setting -> Custom Complier Flags -> Other C Flags 添加:
-fsanitize-coverage=func,trace-pc-guard
- Other Swift Flags 添加:
-sanitize-coverage=func
-sanitize=undefined
- swift使用添加桥接文件Bridging-Header。
- 在你需要二进制重排的地方调用hd_startDetection(),如didFinishLaunching里,或第一个渲染的控制器里的viewDidAppear里。
- 查看控制台日志:link.order ==== 的path路径。
- 根据path路径导出link.order文件。
- git切回正常分支,把导出的link.order文件存放到项目工程的自定义资源文件夹中,需求重新生成就切回指定分支拉取最新代码重新生成link.order文件。
- 设置路径:Target -> Build Setting -> Linking -> Order File 如:${SRCROOT}/YOURProject/Resources/link.order