Repository navigation
NoCompile v0.2.6
NoCompile 0.2.6
变更
- 多设备切换与补推:每台设备接入一个 App,只向当前选中的设备推送热重载;切换设备或 App 重新运行后,自动补推缺少的改动
- 控制台日志分类着色:日志按类别加 emoji 与彩色标签,重复日志合并显示;最近工程下显示所在目录
- 检查改动:顶栏新增「检查改动」按钮,并支持全局快捷键(默认 ⌃⌥⌘R)
- 主界面去掉「保存即注入」开关:改动检测统一由 Mac 端处理
- 其他工程的 App 不再接入:同名工程副本或其他工程运行的 App 不会再被接入,也不再每 2 秒重连刷屏
修复
- 文件监听改为按文件指纹判定改动,修复 Xcode 保存后偶发漏检
- 从构建清单补全编译命令:Xcode 清理旧构建日志后,大部分 ObjC 文件仍可热重载(大型工程此前只能解析到极少数编译命令);编译命令缓存随 Xcode 版本失效
- 修复热重载频繁崩溃:类的内存布局变化(增删、重排属性或 ivar)时不再替换该类实现,避免越界访问;vtable 按函数名核对后再覆写;+load 中 swizzle 的分类重新注入不再无限递归
- 连接层线程安全,真机监听出错后自动重建
- 修复 SwiftUI
some View类型变化、资源 hook 安装竞态、C++ 函数内静态对象迁移等问题
客户端有以上修复,需要更新依赖并重新编译 App 才能生效;未重新编译的客户端仍可正常热重载,不会被要求重新编译。
详见 接入指南。