1. Xcode
1.1. Debug View Hierarchy
显示app视图结构
1.2. Profile
编译 > 运行 > Instruments
1.3. Analyze
静态代码分析
Analyze 主要分析以下四种问题
- 逻辑错误:访问空指针或未初始化的变量等;
- 内存管理错误:如内存泄漏等; 比如ARC下,内存管理不包括core foundation
- 声明错误:从未使用过的变量;
- Api调用错误:未包含使用的库和框架。
1.4. Clang Static Analyzer
命令行方式静态代码分析
1.4.1. 安装
从 https://clang-analyzer.llvm.org/release_notes.html 下载安装对应版本
1.4.2. 工具
scan-build
静态代码分析工具
Xcode Analyze 工具
Example:
scan-build xcodebuild -configuration Debug -sdk iphonesimulator12.1
scan-view
查看 scan-build 生成的日志文件
Example:
scan-view /var/folders/j5/rp29_qg91ll9dg817j_9l1qw0000gn/T/scan-build-2018-12-17-153756-7659-1
1.5. 编译出错常用处理方法
<React/RCTBridge.h> are not found
Edit Scheme > Build > 取消勾选 Parallelize Build
'Masonry.h' file not found
CocoaPods 相关的头文件找不到。 解决方法一: Target 切换到 Generic iOS Device > Build > 再切回原 target 统计 : 解决方法二: ONLY_ACTIVE_ARCH 设为 NO,再编译
1.6. Questions
- Quick Help 不显示注释
删掉
~/Library/Caches/com.apple.dt.Xcode
, 再重启 Xcode
- Problems with glog (config.h missing) and gflags/gflags.h on Xcode 10
cd ./node_modules/react-native/third-party/glog-0.3.4 && ../../scripts/ios-configure-glog.sh
参考 https://github.com/facebook/react-native/issues/19774#issuecomment-397910801