美文网首页
查看`非Xcode启动的程序`的log信息

查看`非Xcode启动的程序`的log信息

作者: 广锅锅 | 来源:发表于2017-05-17 15:46 被阅读330次

今天主要给大家安利一个好东西,虽然基本上你用不到。

iOS打印log信息的方法有两种:

  • 使用C方法printffprintf
  • 使用Foundation框架的 NSLog

我们在程序中写入这些代码,当程序运行到这里就会在Xcode控制台输入对应的log。如下是一段输出日志的示例代码

NSLog(@"GGGG Data 数据1");
NSLog(@"GGGG Handle 处理事件3");
NSLog(@"GGGG Data 数据2");
NSLog(@"GGGG Handle 处理事件4�");
NSLog(@"GGGG ---------------");

printf("GGGG Data 数据1\n");
printf("GGGG Handle 处理事件3\n");
printf("GGGG Data 数据2\n");
printf("GGGG Handle 处理事件4\n");
printf("GGGG ---------------\n");

在Xcode中输出的结果如下

2017-05-17 15:45:51.428974 NSLog&printf[8764:2333119] GGGG Data 数据1
2017-05-17 15:45:51.429259 NSLog&printf[8764:2333119] GGGG Handle 处理事件3
2017-05-17 15:45:51.429412 NSLog&printf[8764:2333119] GGGG Data 数据2
2017-05-17 15:45:51.429546 NSLog&printf[8764:2333119] GGGG Handle 处理事件4�
2017-05-17 15:45:51.430025 NSLog&printf[8764:2333119] GGGG ---------------
GGGG Data 数据1
GGGG Handle 处理事件3
GGGG Data 数据2
GGGG Handle 处理事件4
GGGG ---------------

当然前提是:你必须使用Xcode左上角的启动按钮,启动该应用程序,才能在控制台上看到这些log。也就是说,如果没有经过Xcode启动,自己手动运行起来的程序,其中输出的log在控制台上是看不到的。

大多数情况下,通过启动查看log这样已经够用了,相信这个控制台足够用到永远。直到有一天,我遇到了DeepLink。。。
运行过程是怎么样呢?就是在Safari里面输入这样的链接schem://home?name='GGG'&age='年芳二八',其中schem是app注册的一个URL Type串,浏览这个URL地址将会打开你的app。
这个时候,app就不是由Xcode启动的了。而好死不死的又会有想要看看log信息的需求,以跟踪下app业务流程,数据处理等信息。可是此时log信息在控制台中看不到啊!!!

当然,想看这种非Xcode启动的情况下的log信息,方法还是有的

  • Xcode->Window->Devices->选择要查看log的设备->点击底部向上的箭头(show the device console)
  • mac自带程序控制台

第一种方法的结果是什么样的呢?
一打开console,该设备上所有的log信息:包括系统log、你的log、其他三方程序log,一股脑哗啦啦的刷刷刷,真要亮瞎我的狗眼。
不过好在它支持搜索,command+F,输入我们app的名称,就能直接定位到app输出的log了。

eee
如何,在一堆垃圾log中找到我们想看的log是不是有些累了,中文也都被转成了一堆不可描述的字符。更可怕的是,Demo中的log是一连串的,实际工程中,app的log肯定是跟系统log、其他log混杂在一起的,那就更加爽爆了。
注意:我们也可以从log中看出,printf输出的信息都不见了。相信你在程序中一般也不会用printf

接下来,就是重头戏了,给大家安利的一个好东西,用这个来看log不知比第一种方法好几千几百倍。
这个工具一定是什么了不得的工具了,没错,就是那个一直被我们忽略在角落,一直放在《其他》文件夹,貌似不知道有什么用也永远不会用到的控制台注意:不是终端Terminal,而是控制台

就是这货
同样的,一打开程序,选择设备,系统log、你的log、其他三方程序log,也是一股脑哗啦啦的刷。好在这里刷的不是满屏满屏的字符,它是一行一行以表格呈现的。
控制台
看到了吧,右上角有筛选输入框,一行log太长显示不全,还可以在底部看完整log。同样的,printf的信息也不会被输出到控制台。
可是等等,log信息中还是很乱啊。别忘了,我们的筛选输入框很强大的:
筛选
每一个筛选条件有三种属性:字符串类型关系。输入字符串,按下enter,就会生成一个筛选按钮,点击下拉箭头,就可以筛选出指定类型满足指定关系的log了。

可是设置筛选条件有些繁琐啊,下次又想查看log信息岂不是又要来一边?那么当你添加了新的筛选条件时,有没有看到输入框右下方的存储按钮呢?

保存筛选条件
点击存储后,就会在下面的工具栏中生成一个选项,下次直接点这个选项就行了。
注意:存储按钮并不是存储这些log信息,而是筛选框中的筛选条件。

当然了,苹果爸爸给自己的每一个app都添加了帮助信息


控制台自带帮助

你们直接看爸爸怎么说就好了。

相关文章

网友评论

      本文标题:查看`非Xcode启动的程序`的log信息

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