项目越来越大,代码编译时间越来越长,你是不是早已经厌倦了改一点点UI布局就要重新编译一次项目的过程,我们一分钟几百万上下的,怎能被编译浪费掉珍贵的时间。使用injectionforxcode这款插件,提高我们编程时的效率。

先上插件的GitHub地址:injectionforxcodeGitHub地址

官方演示

看看强大的效果,即写即看到效果:

安装

我们可以通过Alcatraz来安装,如果安装成功没有找到多出来的两个选项,我们通过下载插件-->打开工程,编译后,重启Xcode。

再次打开Xcode我们可以看到Product菜单下多出了两个选项

试验

- (void)viewDidLoad {
[super viewDidLoad]; self.view.backgroundColor = [UIColor whiteColor];
[self setupTableView];
} -(void)injected{
[self viewDidLoad];
}

要注意的是:injected,Corl + = 更新界面后,就可以看到效果。

真机调试

另外,我们想要真机调度,网上说添加脚本这些,我试了都不行。另外找到了解决方法

由于我们在模拟器里运行了,可以看到目录下多了一个文件夹。

第一步:

点击”Patch Project for Injection“,插入真机的相关代码。如果下次我们不需要真机调试了,直接点击”Revert Injection's Changes“就可以消除了。

插入的相关代码,我们可以在main.m文件中看到,如下图:

第二步 方法一:

我们Crol+=运行后,发现报错,如下:

基本意思是:真机调试,需要用户证书,但我们的系统上绑定了多个证书,让我们在Debug-iphoneos下绑定一个我们需要调试的真机证书即可。

我们打开文件目前,会发现多了一个”iOSInjectionProject“文件夹,我们需要找的是identity.txt这个文件

打开后,看到

之后,我们在选中绑定需要调试的真机证书,直接command + c 复制,手打的需要注意空格。

粘贴到identity.txt下。注意不要手敲,有空格的。

保存后,我们再control + =,已经成功。

第二步 方法二:

除了手动改identity.txt方式之外,还可以通过新增运行脚本方式。

1、先去 project-> Build Phases 添加一个 Run script,内容为:

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

2、修改 工程 target 的 Code Siging ,记住只修改 Any iOS SDK 后面的两个为 跟我们Xcode 中一样。

3、然后到我们的工程目录,给 iOSInjectionProject 这个文件夹删掉。删掉之后,com + shift + k, clean 一下工程,在运行到手机上,没什么问题的话,真机上就能热调试了。

4、我们打开identity.txt文件,看到里面自动帮我们添加上了证书。

报错处理

1.没有选中要编译的文件。我们需要选择当前需要调试的controller文件。

2.运行没有效果。加上:

-(void)injected{
[self viewDidLoad];
}

3.真机调试,还是报证书不对,如:

请检查一下,你的需要真机调试的证书,是不是安装了两次,如果安装了两次,也会提示说证书选择有误,请只保留其中一个。

4.IP地址不正确

这个错误指的是没有权限操作IP。

我们在真机调试的时候,会在main.m中插入以下代码:

第一个和第二个IP地址,指向的是外网的IP。外网的IP,我们是没有权限操作的,只需要把这两个IP删除掉即可。如

static const char *_inIPAddresses[] = {"192.168.1.105", "127.0.0.1", };

破解处理

该插件只允许我们使用两周,如果使用到期,我们只需要删除 iOSInjectionProject 这个文件夹,重新运行又可以使用了。

iOS UI调试神器,插件injection for Xcode使用方法的更多相关文章

  1. UI调试神器 for ios:Reveal的使用与破解

    aaarticlea/jpeg;base64,/9j/4AAQSkZJRgABAQEAkACQAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aH

  2. iOS开发UI调试神器----Reveal

    做iOS的开发,UI是非常非常重要的一环.调试时我们一般用模拟器,提交前用真机做測试.用模拟器来调试UI效果尽管快捷方便,但有时仍然希望有更强大的工具来帮助分析UI,尤其是专注在UI的效果调试时.近期 ...

  3. ios webapp调试神器MIHTool

    android平台有直接用chrome beta就可以调试,具体操作办法可以查看这篇教程<Android 设备 Chrome 远程调试>Mac的高富帅直接可以用safari提供“web检查 ...

  4. IOS界面调试神器DCIntrospect

    对于使用代码来写UI的同志,使用DCIntrospect来查看元素信息调整布局,再也不用凭眼睛来估了,先来看看截图 DCIntrospect是github上的开源项目:下载源码 大概介绍下用法: DC ...

  5. 李洪强iOS开发之大神必备的Xcode插件

    iOS开发大神必备的Xcode插件 写在前面 工欲善其事,必先利其器,iOS开发中不仅要学会Xcode的基本操作,而且还得学会一些Xcode的使用技巧,如掌握常用的快捷键等,还有就是今天要说到的Xco ...

  6. iOS 第三方库、插件、知名博客总结

    iOS 第三方库.插件.知名博客总结 用到的组件 1.通过CocoaPods安装 项目名称 项目信息 AFNetworking 网络请求组件 FMDB 本地数据库组件 SDWebImage 多个缩略图 ...

  7. iOS各种调试技巧豪华套餐

    转载自http://www.cnblogs.com/daiweilai/p/4421340.html 目录 前言 逼优鸡 知己知彼 百战不殆 抽刀断Bug 普通操作 全局断点(Global Break ...

  8. iOS高效调试

    写代码难免出现bug. 储备些调试技能绝对能够提高你的工作效率,让bug无所遁形.下面就和大家分享一些我在工作中常用的iOS调试小技能. 1. 打印 最简单,基础的调试方法就是打印日志了.贴出两段封装 ...

  9. iOS UI布局调试工具

    查看ios软件的ui布局有三种: 1.DCIntrospect    这种方式是开源的,我从github上clone下来后运行demo,运行遇到了问题:Xcode cannot run using t ...

随机推荐

  1. C#中字符串转换为计算公式(自定义公式的计算)

    第一种解决方案 第一种也是功能最强大的一种,可以使用Eval函数,像在Java中一样强大,几乎所有的运算符都可以实现,包括四则运算,与或非等. 添加COM引用: private void button ...

  2. python 过滤掉字符串中的回车符与换行符(\t\n)

    我们在文本数据预处理前,要将数据统一整理成需要的格式,其中有回车(\t)或者(\n)符号,会对我们的数据保存有影响,那么就需要将其过滤掉. 比较简单的方法,用replace()将这些符号替换为空,一定 ...

  3. hdu6363 bookshelf 容斥+数列+数论gcd定理(也可以Möbius)

    #define _CRT_SECURE_NO_WARNINGS #include<cmath> #include<iostream> #include<stdio.h&g ...

  4. Exception 02 : java.lang.ClassNotFoundException: Could not load requested class : com.mysql.jdbc.Driver

    异常名称 java.lang.ClassNotFoundException: Could not load requested class : com.mysql.jdbc.Driver 异常详细信息 ...

  5. day14: 生成器进阶

    1,复习,迭代器:双下方法很少直接调用,一般都是通过其他语法触发的:迭代器一定可迭代,可迭代的通过调用iter()方法皆可以得到一个迭代器. 迭代器很方便使用,所有的数据只可以取一次,节省内存空间.生 ...

  6. 拳打Adam,脚踢SGD:北大提出全新优化算法AdaBound

    https://mp.weixin.qq.com/s/el1E-61YjLkhFd6AgFUc7w

  7. Xcode编译警告Assigning to 'id<XXXDelegat> ——Nullable' from incompatible type 'XXXView *const_strong'

    编译报警告 可能是 自定义分类使用协议时出现与父类协议的冲突 解决方法如下:    

  8. 转:关于将Java编译过的.class文件打成jar可执行文件/JAR详解

    原文链接:关于将Java编译过的.class文件打成jar可执行文件/JAR详解 如何把 java 程序编译成 .exe 文件.通常回答只有两种,一种是制作一个可执行的 JAR 文件包,然后就可以像. ...

  9. oracle partition table 分区表详解

    Oracle partition table 分区表详解 分区表就是通过使用分区技术,将一张大表,拆分成多个表分区(独立的segment),从而提升数据访问的性能,以及日常的可维护性.分区表中,每个分 ...

  10. 网页制作中规范使用DIV+CSS命名规则,可以改善优化功效特别是团队合作时候可以提供合作制作效率,具体DIV CSS命名规则CSS命名大全内容如下:

    页头:header  如:#header{属性:属性值;}或.header{属性:属性值;},也许你需要了解class与id区别及用法登录条:loginBar         标志:logo      ...