debug环境下动态注入代码 for iOS

图片来源于网络

简书首发地址:http://www.jianshu.com/p/1de7c38490c5

需求

开发的时候,每次改动代码都要重新run然后跑一遍app来测试改动代码。那么问题来了,有木有方案就是改完代码不用重新run就能及时看到效果的呢,答案是YES
现在解决这一需求的方案网上也不算多,在此笔者特意分享一下笔者使用的工具和方案来提高开发效率。(不讲底层原理,只是纯属的分享一款app)

大神或者已经知道Injection的请绕道,本篇只是纯属分享技巧的文章,只是想让大家提高开发效率而已。

JavaScriptCore的巨坑(JSExportAs方式绑定的本地通信)

前言

本篇分享的类型不是学习教程,并且要有一点JavaScriptCore基础。

毕竟这一块网上一大堆的学习教程,博主就没必要班门弄斧了。

本篇的目的是分享JavaScriptCore中用JSExport协议和JSExportAs宏来进行jsoc通信的两个大坑。


  1. 内存泄露

  2. 调用-[JSValue callWithArguments]野指针问题

block方式来进行js和oc的通信没这两个大坑。

让终端也支持socks5代理协议和git加速

vpn
首发简书地址:http://www.jianshu.com/p/3ed14ca653a1

前言

身为程序员,在天朝科学的上网,科学的查资料很正常。如果是使用的socks5代理协议来进行科学上网的话,可作为一名iOSer想必知道cocoapods更新和git代码拉取都异常的慢。而这些操作都是在终端里操作,socks5代理协议默认无法让终端也科学的上网。所以笔者来分享一下我在终端里使用socks5科学上网的一些小知识。

我的第一次:Xcode插件开发

关于

image
关于Xcode的插件已经层出不穷了。但笔者凭着兴趣也小有研究了一下。

由于Xcode的控制台不支持数组和字典里的中文的值输出(更准确的说是输出为Unicode编码),这让开发者(至少是我)在打印数据进行调试的时候很不方便也很不爽。故此写了一个Category来解决这个问题(github地址点此)。只要把分类拖入到项目里就能让数组和字典里的中文打印正常。

不过,至少笔者觉得还是挺麻烦的。所以凭着兴趣研究了一下插件开发,并打算把这个小需求整成一个插件。然后装在Xcode里一劳永逸。

(技巧分享)老生常谈的符号断点 for Xcode ,找出你想要的ViewController

背景

小清新

Xcode中的符号断点(Symbolic breakpoint)可以针对某一个方法设置断点并暂停执行(如不懂符号断点的小伙伴们网上随便一搜都能入门了)。因此我们可以利用这特性,维护项目的时候可以不用看源代码直接运行APP就能快速的了解到当前所运行的页面是属于哪一个ViewController

本技巧需了解符号断点,本篇只是利用此特性来总结的一个开发技巧分享。所以不涉及到断点这一块的知识。