美文网首页牛叉的demoiOS开发经验收集技术网站加博客
【IOS】震惊!ios居然自带悬浮窗调试工具

【IOS】震惊!ios居然自带悬浮窗调试工具

作者: 雨影 | 来源:发表于2017-07-14 16:33 被阅读518次

    我们经常使用各种调试工具,或者开源库来支持悬浮窗调试信息,但苹果的私有方法就提供了UIDebuggingInformationOverlay。

    系统要求: iOS10 经测试 iOS11不可用

    使用方法:

    AppDelegatedidFinishLaunchingWithOptions 方法中加入两行代码即可。

    #if DEBUG
        
    #pragma clang diagnostic ignored "-Warc-performSelector-leaks"
        
        id overlayClass = NSClassFromString(@"UIDebuggingInformationOverlay");
        [overlayClass performSelector:NSSelectorFromString(@"prepareDebuggingOverlay")];
        
    #endif
        
    

    调用:

    运行后,用两个手指头在状态栏上同时点击下就可以显示出这个调试的悬浮层。


    可以看到以上几个选项:

    • View Hierarchy (查看View的层级关系)
    • VC Hierarchy 查看ViewController层级关系)
    • Ivar Explorer(查看UIApplication 的成员属性)
    • Measure (测量View的尺寸)
    • Spec Compare (对比设计图)
    • System Coloer Audit (系统颜色审计)

    View Hierarchy

    进入到这个页面后,可以看见整个view的层级结构。悬浮窗右上角有个Inspect,点击这个可以高亮显示当前选择的View。如图所示:

    7710B96C-6161-4453-808B-AA049885F624.png

    当前选中的是 SettingSwitchItemView。
    我们在页面上选择一个swicth按钮,这时会定位到该view的条目,如图所示:

    4A7275E1-26C2-4A80-B4CF-6F511BE7C5C3.png

    我们点击右侧的“!”图标,进入到swicth的详情页面,这里展示了view的详西信息,并且可以修改一些属性,比如我们修改这个button的透明度,如图所示:

    E62D4DF3-D935-4116-BA66-5692547339FE.png

    VC Hierarchy

    我们回到悬浮窗的主界面,进入到VC Hierarchy界面看看。
    
    A3CB9BC0-29E1-408C-8E2C-C53C3E7C8C73.png

    Ivar Explorer

    接下来我们去Ivar Explorer页面看一下。进到页面后,对里面的一些值不是很熟悉,不知道是哪里的一些值,不过里面,看见了我们熟悉的 AppDelegate 。
    
    1CD86F5A-54AC-4508-99CD-0E7ECF2C47BD.png

    点击去看看,有我们更加熟悉的值了,是Appdelegate里我们的一些值。

    A5400178-6742-4EE9-A304-7A37EBE53CC7.png

    Measure

    笔者认为最实用的就是这个测量功能了,它可以帮助我们测量view的大小。进入这个页面是这个样子的


    AD56EB68-2F6C-48E4-94BE-486498946DA5.png

    上面有三个tab选项,None, Vertical, Horizontal,选择Vertical可以测量垂直方向上的距离或者view的高度,选择Horizontal是在水平方向上进行测量。在悬浮窗上还有一个 View Mode的选项开关,开启时,会以View为单位,来测量view的大小宽高;关闭时是以非空白像素为起始端和结束端进行更宽泛的测量。如图所示:


    F58DD36D-15A7-4385-AD99-DA7611AE394E.png

    例如:测量switch的高度

    19F53376-D326-443B-8075-12EE268F763F.png

    关闭ViewMode后的测量

    1EB6FE94-0218-41E1-A818-2C26830DA7B9.png

    Spec Compare

    这个功能是比较spec图片和我们辛苦完成的view的,也比较实用,直接可以看出我们我们扣代码出来的界面和UI给出的设计图的差别。进入到这个页面后,点击右上角的Add进入相册把UI设计师给出的设计图添加进来,如图:


    然后点击一下图片,这时会把UI设计图覆盖在界面上,然后,我们用手指从上到下滑动,就可以让UI设计图变得透明, 双击退出。如图:

    System Coloer Audit

    这个还不知道做什么的,点进去会是空白的列表.

    相关文章

      网友评论

      • 代码移动工程师:11 没有 10 有
        雨影:那就是ios11取消了这个功能,可能觉得用的人太少了
      • c1482b09ec8a:楼主,为何我在iOS11.1的机器上什么反应都没有呢?用两个手指头在状态栏上同时点击下,没效果啊
        代码移动工程师:@Micheal_Xiao 我测了,根本没用,这就很尴尬了
        c1482b09ec8a:@雨影 加了啊,在启动那里加你给的这两句
        #if DEBUG

        #pragma clang diagnostic ignored "-Warc-performSelector-leaks"

        id overlayClass = NSClassFromString(@"UIDebuggingInformationOverlay");
        [overlayClass performSelector:NSSelectorFromString(@"prepareDebuggingOverlay")];

        #endif
        没用哎
        雨影:@Micheal_Xiao 方法加了吗?iOS11我还没测过
      • Sweet丶:我给82分,剩下一个666啊!!!
      • 苏旋律:楼主,你这是uc上的震惊体吧。这浪费了大好人才。
        雨影:@苏旋律 哈哈
      • cocoaAhda:有没有swift的
        雨影:@cocoaAhda 应该有的,系统的

      本文标题:【IOS】震惊!ios居然自带悬浮窗调试工具

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