(前面省略 OCLint 编译以及其他问题,有需要可以看 https://oclint.org)
参考 https://docs.oclint.org/en/stable/guide/xcodebuild.html
前期材料
- 写好的 OCLint 规则
- Demo Project
1 | ➜ TestStrCopy xcodebuild -list |
(前面省略 OCLint 编译以及其他问题,有需要可以看 https://oclint.org)
参考 https://docs.oclint.org/en/stable/guide/xcodebuild.html
1 | ➜ TestStrCopy xcodebuild -list |
用 Clang 写一个小 demo 编出抽象语法树,然后开始苟且。
1 | clang -fmodules -fsyntax-only -Xclang -ast-dump ./OCLintTest.m |
XCode 调试自定义规则时提示
1 | oclint: error: cannot find dynamic library for report type: text |
添加符号断点后打印 reporterPath。对于目录下确实没有文件
1 | (lldb) po oclint::option::reporterPath() |
解决方式:手动拷贝 build 目录下的 oclint-release/lib 目录到上述目录中
文长不看
今天 Xcode 抽风(12.2 不会有问题,12.3,12.4 会有问题),一直卡死,排查思路如下,打开活动监视器对 Xcode 进行取样,发现DTDKMobileDeviceToken
字样。猜测是因为手机连接的问题,于是把手机拔了,发现 Xcode 不卡死了。
最终解决方案:重启手机