美文网首页
iOS app屏幕上打印日志

iOS app屏幕上打印日志

作者: NapoleonY | 来源:发表于2018-06-16 10:39 被阅读143次

    概述

    iOS开发中,真机测试时,如果此时也不能与电脑连接,就无法实时看到打印的log,因此如果能够将在Xcode中打印的log打印到app上,并且不会影响app的使用就完美了。因此写了一个小工具,可以将log打印到app上。

    原理

    主要是新建一个UIWindow单例,将windLevel设为UIWindowLevelAlert,使其保持在屏幕最前方。将userInteractionEnabled设为NO,不响应触摸点击事件。
    使用时,只需在appDelegate中[[NJYLogOutPutWindow shareInstance] setHidden:NO];,Swift中NJYLogDisplayWindow.shareInstance.isHidden = false即可。

    问题分析

    1. 为何不在[[UIApplication sharedApplication].delegate.window addSubview:view];,而是要新建一个UIWindow对象
      直接在UIApplication.keyWindow中直接添加view,如果UIApplication.keyWindow又添加了其它的view,就会将该日志view挡住。
    2. 为何代码中设置window.hidden = NO;就可将window显示在屏幕上
      UIView不同,UIWindow一旦被创建,它就自动添加到整个见面上了

    备注

    代码已上传到GitHub/NJYLogOutput上,Objc和swift分别对应相应的代码。

    参考

    1. iOS开发进阶

    相关文章

      网友评论

          本文标题:iOS app屏幕上打印日志

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