经过上次JSPatch被封杀事件之后,JSPatch平台做了一些安全性的提高,没想到今天就中枪了。提交的补丁中有一个textField属性,发布时提示我使用了UIAlertView的私有方法textField,然后补丁中根本就没有使用UIAlertView好不好?
基本上可以确实这个私有API验证不是很严谨,初衷是好的,但也不至于这样吧。想了想,也许用KVC特性能绕过?一试,果然是行的。就是把原来的self.textField()修改成var tf = self.valueForKey('textField');就好了。
基本确定这东西是防君子不防小人的,用私有API是没法防得住的。
想来想去,觉得这种动态补丁平台还是得苹果自己来做,每次提交补丁也要审核才行,动态验证私有API调用,同时限制补丁规模,提高审核速度,应该也能好很多。
网友评论