作用
动态地将 Swift 或 Objective-C 的代码在已运行的程序中执行,来加快调试速度,同时保证程序不用重启。
这样我们在修改 UI 问题的时候,就不用在每次改动源代码之后都重新 Build 工程来看效果了,从而节省大量的等待编译的时间。
局限性:仅支持模拟器
安装
App Store 搜索 injectioniii,直接安装即可,图标为一个注射器的标志
代码开源地址:https://github.com/johnno1962/InjectionIII
使用
-
安装成功之后启动 injectioniii
-
在我们自己的工程 AppDelegate.swift 文件的 didFinishLaunchingWithOptions 方法中进行注入,注入方法如下:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
#if DEBUG
Bundle.init(path: "/Applications/InjectionIII.app/Contents/Resources/iOSInjection.bundle")?.load()
#endif
return true
}
*Tips: path 路径一定要准确,建议复制粘贴
- Build 我们自己的工程,首次运行时&#