injectionForXcode代码注入步骤
- 下载InjectionforXcode9
- 安装运行
- 重启Xcode
- 点击一次Inject Source
- 打开File Watcher,每次Cmd+S都会触发一次注入 为了能够实时显示改变效果,我们需要在注入后通知ViewController刷新View,添加如下代码(注意在第一个ViewController没有效果,push的加载的ViewController有效果)
import UIKitextension UIViewController { //5#if DEBUG //1@objc func injected() { //2for subview in self.view.subviews { //3subview.removeFromSuperview()} viewDidLoad() //4}#endif
}
复制代码
如果有动画,使用如下代码
import UIKitextension UIViewController {#if DEBUG@objc func injected() {for subview in self.view.subviews {subview.removeFromSuperview()}if let sublayers = self.view.layer.sublayers {for sublayer in sublayers {sublayer.removeFromSuperlayer()}}viewDidLoad()}#endif
}
复制代码
原文链接
injectionForXcode代码注入步骤相关推荐
- proxy aspectj_使用AspectJ,Javassist和Java Proxy进行代码注入的实用介绍
proxy aspectj 静态地或在运行时将代码片段注入已编译的类和方法中的功能可能会很有帮助. 这尤其适用于在没有源代码的第三方库中或在无法使用调试器或探查器的环境中对问题进行故障排除. 代码注入 ...
- 使用AspectJ,Javassist和Java Proxy进行代码注入的实用介绍
静态地或在运行时将代码片段注入已编译的类和方法中的功能可能会很有帮助. 这尤其适用于在没有源代码的第三方库中或在无法使用调试器或探查器的环境中对问题进行故障排除. 代码注入对于处理涉及整个应用程序的问 ...
- iOS 非越狱下的代码注入
目录 免责声明 非越狱下的代码注入步骤 使用 ViewDebug 和导出的 Objective-C 类的头文件分析目标 App Objective-C 方法常见的 Hook 方式 免责声明 本文为一篇 ...
- 【IOC 控制反转】Android 视图依赖注入 ( 视图依赖注入步骤 | 视图依赖注入代码示例 )
文章目录 总结 一.Android 视图依赖注入步骤 二.Android 布局依赖注入示例 1.创建依赖注入库 2.声明注解 3.Activity 基类 4.依赖注入工具类 5.客户端 Activit ...
- 【IOC 控制反转】Android 布局依赖注入 ( 布局依赖注入步骤 | 布局依赖注入代码示例 )
文章目录 总结 一.Android 布局依赖注入步骤 二.Android 布局依赖注入示例 1.创建依赖注入库 2.声明注解 3.Activity 基类 4.依赖注入工具类 5.客户端 Activit ...
- Linux 平台一种进程代码注入方法
http://blog.csdn.net/occupy8/article/details/17056769 用于在目标程序的 main 函数执行前完成一些操作 特定情况下用来调试还是不错的. 源代 ...
- 【IOC 控制反转】Android 事件依赖注入 ( 事件三要素 | 修饰注解的注解 | 事件依赖注入步骤 )
文章目录 总结 一.Android 事件设置三要素 二.修饰注解的注解 三.Android 事件依赖注入步骤 总结 Android 依赖注入的核心就是通过反射获取 类 / 方法 / 字段 上的注解 , ...
- 整合后台服务和驱动代码注入
整合后台服务和驱动代码注入 Home键的驱动代码: /dev/input/event1: 0001 0066 00000001 /dev/input/event1: 0000 0000 0000000 ...
- ios重签名shell脚本_iOS逆向——shell重签名及代码注入
感谢hank老师 上一章我们讲了应用签名原理和重签名原理,不再赘述,没有看过的同学可以点这里-- 这章概述shell脚本重签名.可能有的同学认为有很多工具都能快速的帮助我们重签名实现需求,但我更希望在 ...
最新文章
- ORB算法原理解读【不错】
- Gartner:解开关于人工智能的六个迷思
- git常用基本简单命令
- shell之字体颜色显示
- 使用opencv和python进行智能图像处理_使用OpenCV在Python中进行图像处理
- [译文] C# 8 已成旧闻, 向前, 抵达 C# 9!
- android最好的3d游戏机,终极盘点:Android必玩十大超猛3D游戏
- javascript学习系列(20):数组中的bind,apply,call
- matlab重建算法stomp,压缩感知图像重建算法的研究现状及其展望.pdf
- 在周二正式发售前 新款MacBook Pro已开始向客户发货
- php动态写入vue,Vue.js中使用动态组件的方法
- 强制类型转换之(==)
- 使用Gitbook来编写你的Api文档
- windows及iis网站配置https证书
- HttpContext.Current
- SwiftUI实战一:从入门到精通
- 【计算机组成原理——定点数原码一位乘法手算】
- RS485MODBUS RTU转PROFINET网关/PROFINET转MODBUS RTU网关将施耐德ATV610变频器接入西门子1500 PROFINET网络配置方法
- Excel·VBA考勤打卡记录统计结果
- chia币新协议矿池搭建教程