动态调试之Cycript

2019-10-31  本文已影响0人  Code_人生

一、Cycript 安装

二、Cycript 使用



三、脚本自动链接

四、封装cy文件

Cy文件
Cycript是一门脚本语言,它可以加载封装好的.cy文件。
我们会将常见的Cycript常用功能封装到.cy文件中,便于调试。

非越狱中导入.cy文件
利用MonkeyDev工具导入.cy文件
MonkeyDev本身集成了Cycript。我们只需要将.cy文件通过xcode导入Framworks目录即可。

1、在CycriptDemo文件夹下创建一个dyz.cy空文件(后缀名一定要为.cy)

2、dyz.cy文件中添加如下代码,然后保存一下

3、拷贝到CycriptDemo这个targets中

4、重新运行项目即可

5、需要导入才可以使用哦 @import dyz

DYZCurrentVC
DYZCurrentVC () 才会执行

APPIDDYZ = [NSBundle mainBundle].bundleIdentifier,
APPPATHDYZ = [NSBundle mainBundle].bundlePath,

//如果有变化,就用function去定义!!
DYZRootvc = function(){
return UIApp.keyWindow.rootViewController;
};

DYZKeyWindow = function(){
return UIApp.keyWindow;
};

DYZGetCurrentVCFromRootVc = function(rootVC){
var currentVC;
if([rootVC presentedViewController]){
rootVC = [rootVC presentedViewController];
}

if([rootVC isKindOfClass:[UITabBarController class]]){
currentVC = DYZGetCurrentVCFromRootVc(rootVC.selectedViewController);
}else if([rootVC isKindOfClass:[UINavigationController class]]){
currentVC = DYZGetCurrentVCFromRootVc(rootVC.visibleViewController);
}else{
currentVC = rootVC;
}

return currentVC;
};

DYZCurrentVC = function(){
return DYZGetCurrentVCFromRootVc(DYZRootvc());
};
上一篇 下一篇

猜你喜欢

热点阅读