一:非越狱下可以
1.安装MonkeyDev
2.砸壳后的ipa
使用cycript
二:常用操作命令
1.打印打前视图层次
UIApp.keyWindow.recursiveDescription
2.当前视图
function currentVC() {
var app = [UIApplication sharedApplication]
var keyWindow = app.keyWindow
var rootController = keyWindow.rootViewController
var visibleController = rootController.visibleViewControlle
if (!visibleController){
return rootController
}
return visibleController.childViewControlers[0]
}
var c = currentVC()
3.对象属性
function tryPrintIvars(a){ var x={}; for(i in a){ try{ x[i] = (a)[i]; } catch(e){} } return x; }
tryPrintIvars(c)
4.打印类方法
function printMethods(className) {
var count = new new Type("I");
var methods = class_copyMethodList(objc_getClass(className), count);
var methodsArray = [];
for(var i = 0; i < *count; i++) {
var method = methods[i];
methodsArray.push({selector:method_getName(method), implementation:method_gtImplementation(method)});
}
free(methods);
free(count);
return methodsArray;
}
printMethods(类名)
5.通过view的nextResponder方法,可以找出它所属的视图控制器ViewController
[#0x内存地址 nextResponder]
6.视图隐藏
[#0x内存地址 setHidden:YES]或者
7.打印根vc的所有子vc
[[[UIWindow keyWindow] rootViewController] _printHierarchy].toString()
8.[#0x105abeed0 _methodDescription].toString()//打印所有方法
- [#0x105abeed0 _ivarDescription].toString()//打印实例变量的所有名称和值。