Skip to content

NoCompile v0.2.4

Choose a tag to compare

@wangwanjie wangwanjie released this 17 Oct 19:29
· 10 commits to main since this release

NoCompile 0.2.4

变更

  • 安装包按芯片拆分:从本版本起分别提供 Apple 芯片(_arm64)与 Intel(_x86_64)两个 DMG,体积更小;Sparkle 自动更新也按架构分别推送。已安装的旧版会自动升级到与本机芯片匹配的版本

修复

  • iOS 与 macOS App 同时连接时,只属于其他平台的源文件不再被借用别的模块的编译命令重编(此前会报找不到 AppKit),资源也按平台分别下发,不再报找不到所属 bundle
  • CocoaPods resource_bundles 中的 xcassets 能正确判定所属 bundle 并热重载
  • 编译命令持久化缓存,Xcode 清理旧构建日志后仍能找到命令;Xcode 显式模块 PCH 不兼容时自建 PCH
  • 以 $sSo 开头的 Swift 扩展符号不再被误判为标准库符号
  • C / ObjC static 变量状态随注入迁移;swizzle 按函数体配对;弱符号正确重绑
  • ObjC ivar 布局变化时跳过方法替换,避免越界访问
  • 新增符号提升为全局,后注入的 dylib 绑定到最新实现
  • framework 头文件副本同步、显式模块头文件依赖,以及按改动的标识符筛选依赖文件
  • framework 内资源、strings、json、颜色集支持热重载,修复克隆文件事件导致的循环触发

示例

  • 示例工程扩展为多模块 workspace(动态 framework、静态库、本地 SPM)并新增 CocoaPods 版本,附约 120 个场景的端到端自测

升级后请重新编译运行接入了 NoCompile 的 App,CocoaPods / SPM / Carthage 接入的请同时把依赖更新到 0.2.4。

详见 接入指南。