App 如何快速重启(编译)
iOS 原生代码的编译调试,都是通过一遍又一遍地编译重启 App 来进行的。所以,项目代码量越大,编译时间就越长。虽然我们可以通过将部分代码先编译成二进制集成到工程里,来避免每次都全量编译来加快编译速度,但即使这样,每次编译都还是需要重启 App,需要再走一遍调试流程。
对于开发者来说,提高编译调试的速度就是提高生产效率。试想一下,如果上线前一天突然发现了一个严重的 bug,每次编译调试都要耗费几十分钟,结果这一天的黄金时间,一晃就过去了。到最后,可能就是上线时间被延误。这个责任可不轻啊。
那么问题来了,原生代码怎样才能够实现动态极速调试,以此来大幅提高编译调试速度呢?在回答这个问题之前,我们先看看有哪些工具是这么玩儿的。了解了它们的玩法,我们也就自然清楚这个问题的答案了。
Swift Playground
说到 iOS 代码动态极速调试的工具,你首先能想到的估计就是 Playground。它是 Xcode 里集成的一个能够快速、实时调试程序的工具,可以实现所见即所得的效果,
Injection for Xcode
所幸的是,John Holdsworth 开发了一个叫作 Injection 的工具可以动态地将 Swift 或 Objective-C 的代码在已运行的程序中执行,以加快调试速度,同时保证程序不用重启。John Holdsworth 也提供了动画演示效果,
作者已经开源了这个工具,地址是https://github.com/johnno1962/InjectionIII 。使用方式就是 clone 下代码,构建 InjectionPluginLite/InjectionPlugin.xcodeproj ;删除方式是,在终端里运行下面这行代码:
rm -rf ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/InjectionPlugin.xcplugin
App 如何快速重启(编译)相关推荐
- IAP与APP(一):两个固件使用Keil5默认设置编译后,利用J-Flash偏移APP的地址然后合并IAP烧写,运行时出现在跳转APP时无限重启的现象
最近做了个在线升级(并没有使用系统) 芯片:STM32F103C8T6 环境:Keil 5.STM32CubeMX 5.2.1 跳转和写FLASH在网上一搜其实不少,主要注意要重定向中断向量表和跳转前 ...
- 超详细!apk安装包快速反编译,多种反编译及失败的解决方案(包含classes.dex的反编译,新增加快速反编译)
如要转载,请贴出原地址:https://blog.csdn.net/Nobody_else_/article/details/83996441 众所周知,我们开发所用的手机App安装包都是apk文件, ...
- Android之解决APP奔溃重启导致Fragment白屏问题
1.问题 问题APP奔溃重启导致依附的Fragment白屏问题 2.分析 app奔溃重启Activity肯定更新了,但是依附在Activity里面的fragment有缓存,用的是以前的activity ...
- SpringBoot 热部署神器快速重启的秘密!
今天咱们来聊聊这个热部署神器 spring-boot-devtools 的运行原理,看看它是怎么用这个 ClassLoader 来实现快速重启,帮我们节省时间的!
- Windows驱动开发学习记录-驱动中快速重启关闭计算机之一
引言 关于快速重启和关闭计算机,网上有不少软件在Ring3下调用ZwShutdownSystem (NtShutdownSystem)来实现,虽然速度很快,但还至少经历一些流程,比如向设备驱动发送停机 ...
- 化妆品APP开发快速制作
化妆品APP开发,化妆品APP开发快速制作.伴随着移动互联快速发展趋势,许多实体领域都是在根据互联网进行转型发展,特别是在近些年女性市场的需求深受创业投资者们关心,因而许多借此机会衍化的消费行业也是备 ...
- link2sd在部分Android 4.2.2系统下挂载告警必须快速重启才能挂载的问题
现象: link2sd使用时会挂载告警,重新创建挂载脚本后,快速重启能够解决.但是正常重启又不行了 问题根源: link2sd的创建脚本必须将内容写入到/etc/install-recovery.sh ...
- ES运维--快速重启
启动初始化时间长 修改es配置,重启集群成本巨大.ES集群已有25T数据,27个节点,24个数据节点(热盘12和hot节点,慢盘12个stale节点,3个mater节点),数据节点的启动,加入集群后需 ...
- 服务器维护系列——快速重启VNC
博客新址: http://blog.xuezhisd.top 邮箱:xuezhisd@126.com 环境 操作系统:Ubuntu 14.04 Server 问题描述 如何关闭VNC?如何启动VNC? ...
最新文章
- Push to origin/master was rejected解决方法
- (转载)关于IAP与APP互相跳转的实现
- 语文课外运用计算机探究,[小学语文]计算机在小学写字教学中的运用之我见
- SpringCloud(第 054 篇)简单 Quartz-Cluster 微服务,采用注解配置 Quartz 分布式集群... 1
- 一次性输血器行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
- 计算机操作系统在线阅读,计算机操作系统3-1.ppt
- 热烈庆祝博客排名进入前一万(8448)
- loadruner知识点小结
- 如何细分目标客户群体,让邮件效果更好?
- 采样频率和带宽的关系_采样频率、采样点数、频率分辨率
- 【51CTO学院】双11抽奖规则
- 小白也能看懂的华为防火墙配置教程
- 摄影测量:ERDAS自动、手动和导入特征点对(超详细)
- 百度小程序第三方平台开发,一整套流程
- android ftp 链接不上去,安卓手机无法连接电脑上的ftp(vsftpd)服务器
- Ubuntu 21.04 虚拟机设置共享文件夹
- 揭秘阿里巴巴神奇的人物抠图算法内幕
- jQuery Danmmu Player 弹幕视频
- 二维火门店网盘v5.7.0绿色官方版
- ON1 Effects图形工具领域,LUT和预设的色彩工作站
热门文章
- java 0x80000000_如何在java中将0x80000000等同于-2147483648?
- Day009---java中的一维数组和二维数组
- (素材源码)猫猫学IOS(十五)UI之曾经大热的打砖块小游戏
- Couldn't find executable named joy_node below /opt/ros/kinetic/share/joy解决方法
- EL表达式和JSTL表达式及案例
- sort arithmatic
- 使用百度统计功能快速统计网站的访问情况
- 东方博宜oj答案1151-1200
- 建议收藏,轻松搞懂区块链
- 屏蔽机房设计方案知识