Lookin是一款iOS开发时常用的调试软件,由腾讯微信读书团队QMUI开发。
它可以查看和修改iOS App里的UI对象的软件,展示App UI图层,类似于Xcode自带的UI Inspector工具,或另一款叫做Reveal的软件。
此外,虽然Lookin主体是一款MacOS程序,它亦可以嵌入你的iOS App而单独运行在iPhone或iPad上。
优点
-
相比于UI Inspector,Lookin会显示更大范围的视图(不限于手机屏幕),按住
Option
键,即可测量任意两个view
之间的距离。 -
由于Lookin是一个独立的软件,可以在操作模拟器或真机的同时通过刷新Lookin来快速查看不同的页面。
-
Lookin展示更多信息,包括视图的变量名,甚至某个UITableViewCell的indexPath(section和row)的信息,并可以复制这个变量名方便在工程中查找。
-
Lookin可以自定义图层折叠级别,并且可以展示出工程中
hidden = YES
(隐藏🫥)的图层。
-
可以支持在APP内部以和Mac端的独立软件同样的方式展示图层信息。
-
控制台可以输入以访问当前选中类的属性和方法。
-
可以将当前的页面UI信息导出成文件脱离Xcode单独去查看,或发送给别人帮忙解决问题。
-
可以监听某个类的某个方法,此方法调用时软件会打印堆栈信息(非debug环境时比较方便)。
使用方法
- 下载Mac软件Lookin](https://lookin.work/)
- 如果这是你的 iOS 项目第一次使用 Lookin,则需要先把 Lookin 的 iOS Framework 嵌入到你的 iOS 项目中,推荐使用
cocoapods
,在podFile文件中导入以下文字:
pod 'LookinServer', :configurations => ['Debug']
- 启动App,而后打开Lookin程序
在iPhone或iPad 中使用
在工程已经pod 'LookinServer', :configurations => ['Debug']
的前提下,在工程中合适的地方运行代码:
[[NSNotificationCenter defaultCenter] postNotificationName:@"xxx" object:nil];
xxx可以有三种情况(或者叫功能):
- Lookin_Export 导出文件
- Lookin_2D 审查元素
- Lookin_3D 展示3D视图
开源
抛开不太好用的Xcode UI Inspector不谈,它的主要竞品是国外收费的Reveal。
概括来说,二者在刷新速度等性能方面差异不大,但Reveal作为收费、成熟的商业团队产品,功能更全更稳定,文档完善,且有着很好的迭代节奏。
而Lookin功能较少、迭代较慢,尤其在布局约束调试方面很弱,但有着免费开源的优点,且不乏测距、变量名显示等小的亮点功能。
Lookin Github源码
参考
Github: |老司机 iOS 周报 #199 | 2022-04-18 || QMUI团队Demo|
微信文章: |Lookin 原理及 5 个开发难点|