美文网首页
Xcode中的debug及使用debug安装LookInServ

Xcode中的debug及使用debug安装LookInServ

作者: 独孤流 | 来源:发表于2022-02-18 12:51 被阅读0次

调试相关参考:xcode 中的调试
重点说下Symbol BreakPoint: 给全局中的函数添加断点

前言:最常见的场景是代替在appDelegate里引入某些调试工具,比如如下的injection,但是又不想提交这个调试信息影响其他伙伴,只能在提交代码时删除或注释掉,提交完代码然后再打开,这样容易导致某些忘记注释就提交或者频繁操作令人厌烦的问题

一、injection
参考:injectionIII工具:让iOS开发调试实现热重载

1.1 在App Store上搜索下载injectioniii

截屏2022-02-18 上午11.53.01.png

1.2 启动下载好的injectioniii选中对应的项目文件夹

1、选择Open Project,然后选中对应的项目文件夹,再选中Select Project Directory


截屏2022-02-18 下午12.28.46.png
2、确保选中File Watcher
截屏2022-02-18 下午12.29.35.png

1.3


1.3.1 常规引入injection的方式
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
/// 要引入某些调试工具,比如injection
  [[NSBundle  bundleWithPath:@"/Applications/InjectionIII.app/Contents/Resources/iOSInjection.bundle"] load];
}

1.3.2使用Symbolic BreakPoint引入的方式

选中一个项目,然后选中debug拦,点击+,然后选中Symbolic Breakpiont

截屏2022-02-18 下午12.02.06.png

1、输入自定义名称:这个随便输入就可以,我输入的是injectionIII
2、输入调试方法:UIApplicationMain,这个方法就相当于在- application:didFinishLaunchingWithOptions:里引入
3、选择action:Debugger Command
4、输入调试引入的内容:po [[NSBundle bundleWithPath:@"/Applications/InjectionIII.app/Contents/Resources/iOSInjection.bundle"] load]
5、选中自动继续

截屏2022-02-18 下午12.11.33.png

如果是要给每个项目都同步这个设置,直接将设置移动到User下就可以


截屏2022-02-18 下午12.34.44.png

一切设置完毕运行项目后会是如下效果


截屏2022-02-18 下午12.35.49.png

如果有修改项目文件,然后按cmd+s保存,则图标会变成绿色,并有日志输出

截屏2022-02-18 下午12.37.08.png
等编译热加载结束,然后图标会变黄色,并有相应日志输出
截屏2022-02-18 下午12.37.21.png

引入LookIn的UI调试也是类似,
一、下载安装LookInServer: https://lookin.work/get/
唯一不同的是输入的调试命令是

expr (Class)NSClassFromString(@"Lookin") == nil ? (void *)dlopen("/Applications/Lookin.app/Contents/Resources/LookinServerFramework/LookinServer.framework/LookinServer", 0x2) : ((void*)0)

参考:
如何使用 Xcode 断点添加 Lookin 的 iOS Framework ?

最后完整效果:


截屏2022-02-18 下午12.50.12.png

相关文章

网友评论

      本文标题:Xcode中的debug及使用debug安装LookInServ

      本文链接:https://www.haomeiwen.com/subject/ljxylrtx.html