Injection Plugin for Xcode实时在模拟器或实机上看到效果而不需要重启应用

介绍

Injection Plugin For Xcode 是 Xcode 上的一个插件。利用它可以修改应用代码,实时在模拟器或实机上看到效果而不需要重启应用。

安装

下载Injection github地址

安装后,重启Xcode,会发现在 Product 菜单下多了两个选项:


点击 Product > 你的工程名 > Patch Project for Injection 选项, 之后插件会在 Prefix.pch 和 main.m 中插入两段代码。这不会影响程序原有代码,如果要还原,随时可以通过点击 Revert Injection’s Changes 选项来还原。


基本使用

我们做一个很简单的应用,其有一个 UIButton 和一个 UILabel,当点击 button 后,label 显示一段文本,ViewController 的代码如下:


运行后,点击按钮,效果如图所示:


之后我们修改代码,将赋给 label 的字符串改为:

self.label.text = @"阿布钱多到花不完";

但区别于一般的使用 CMD+R 来重新编译并运行程序,这次我们使用 control= 这个快捷键来注入。

注入完成后,修改的类的代码就生效了,点击模拟器中应用的按钮试试。


真机调试

真机调试涉及到证书问题,需要告诉 bundle project 正确的证书。可以通过在工程文件中添加以下 RunScript 实现:

echo "$CODESIGNING_FOLDER_PATH" >/tmp/"$USER.ident" && echo "$CODE_SIGN_IDENTITY" >>/tmp/"$USER.ident" && exit;

之后就可以正确在真机上使用了。如果依然出现证书错误,尝试删除工程文件夹里的 iOSInjectionProject 目录。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,261评论 4 61
  • 黎文渊 学号17021210909 转载自http://www.techweb.com.cn/internet/2...
    颜渊_d001阅读 242评论 0 0
  • 每看到你一眼,每听到你的声音,都想把你做过的事情你是个怎样的人,传教一般一遍又一遍告诉所有人,想写成以你名字命名的...
    十二行废话阅读 60评论 0 0
  • 许多讲解函数式编程的文章教授抽象的理论化的函数式编程技术,如,组合(composition)、管道(pipelin...
    Qingniu阅读 1,172评论 1 11