UI 调试神器 injection for Xcode 的使用详解

    injection for Xcode 工具的github地址:点击打开链接

     作为移动端开发的程序员,每次最耗时也最令人烦恼的事情就是,不断的重启模拟器调试程序,查看UI页面是否符合自己的心意。而injected Plugin for Xcode就大大的方便了我们开发。
   
      Injection Plugin For Xcode 是 Xcode 上的一个插件。利用它可以修改应用代码,实时在模拟器或实机上看到效果而不需要重启应用。

1.下载完之后,打开红圈选中的文件夹。
    
   

2.打开并运行,成功之后即完成了安装。


    

3.安装后重启Xcode,会发现在Product菜单下多了两个选项(注意重启的时候,应该选择load bundle,而不应该选skip bundle,否则不能再Xcode中找到):



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


4. 此时在main.m中多了几行代码,如图:  


以下的是pch中的(这个地方注意以下就是,再倒入代码的过程中,程序默认识别的是以.pch为结尾的,有的第三方库也是有.pch,如果导入到第三方里面,需要剪切到 Prefix.pch中

5.基本使用
此时在项目中就可以使用了,使用的时候只是需要在类中加入以下方法就可以了, 但区别于一般的使用 CMD+R 来重新编译并运行程序,这次我们使用 control= 这个快捷键来注入。你会发现代码上方出现一个进度条:




实时参数调整

Injection Plugin 还提供了5个变量和5个颜色,分别存在插件提供的全局数组变量 INParameters 和 INColors 中。我们可以在程序使用这两个数组变量,并可以在程序运行过程中实时修改。
我们建立个新工程,这一次,我们通过修改插件提供的一个颜色参数,实时修改应用中 View 的背景色。代码如下:

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    [NSTimer scheduledTimerWithTimeInterval:0.1
                                     target:self
                                   selector:@selector(changeColor)
                                   userInfo:nil
                                    repeats:YES];
}

- (void)changeColor
{
    self.view.backgroundColor = INColors[0];
}
@end

运行程序,之后点击 Product > 你的工程名 > Tunable App Parameters 选项。
006

点击第一个颜色,试着调整颜色,看看模拟器发生了什么。
007

真机调试

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

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

具体操作如下:
008

之后就可以正确在真机上使用了。如果依然出现证书错误,尝试删除工程文件夹里的 iOSInjectionProject 目录。



  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值