我想看看如果我不在Xcode中测试应用程序,在iOS模拟器中会发生什么。

例如,如果我在Safari模拟器中打开一个链接,看看控制台会发生什么, 或者如果我安装了一个网络应用程序,可以看到我在控制台按下的链接。

我该怎么做呢?

我想看到它在Xcode或终端,但这不是一个问题,如果我需要使用另一个软件。


当前回答

XCode > 6.0和iOS > 8.0 下面的脚本适用于XCode版本> 8.0

我使用下面的小脚本跟踪模拟器日志到系统控制台。

#!/bin/sh
sim_dir=`xcrun instruments -s | grep "iPhone 6 (8.2 Simulator)" | awk {'print $NF'} | tr -d '[]'`
tail -f ~/Library/Logs/CoreSimulator/$sim_dir/system.log

您可以传入Grep中使用的模拟器类型作为参数。如上所述,根据Xcode版本,有simctl和instruments命令来查看可用的模拟器类型。 查看可用设备/模拟器列表。

xcrun instruments -s

OR

xcrun simctl list

现在,您可以将设备代码或模拟器类型作为参数传递给脚本,并将grep中的“iPhone 6(8.2模拟器)”替换为$1

其他回答

iOS模拟器>菜单栏>调试>打开系统日志


老方法:

iOS模拟器将其日志直接打印到标准输出,因此您可以看到日志与系统日志混合在一起。

打开终端,输入tail -f /var/log/system.log

然后运行模拟器。

编辑:

这在Mavericks/Xcode 5中停止工作。现在你可以访问模拟器的日志在它自己的文件夹:~/Library/ logs /iOS模拟器/<sim-version>/system.log

您可以使用控制台。app查看,或者只是做一个尾巴(以iOS 7.0.3 64位为例):

tail -f ~/Library/Logs/iOS\ Simulator/7.0.3-64/system.log

编辑2:

它们现在位于~/Library/Logs/CoreSimulator/<simulator-hash>/system.log中

/Library/Logs/CoreSimulator/<simulator-hash>/system.log . tail -f ~/Library/Logs/CoreSimulator/<simulator-hash

查看控制台日志最简单的方法是添加consolelogs作为参数:

Ionic cordova运行ios -l—控制台日志

您将能够在终端上看到控制台日志。

在Xcode中: 视图->调试区->激活控制台

您可以通过桌面Safari查看iOS模拟器的控制台。它类似于使用桌面Safari查看物理iOS设备的控制台。

当模拟器正在运行并且有一个网页打开时,在桌面safari的开发菜单下会有一个选项,让你看到iOS模拟器控制台:

开发-> iPhone模拟器->站点名称

跟踪/var/log/system.log对我不起作用。我用Console.app找到了我的日志。他们在 ~ /图书馆/日志/ iOS模拟器/ {version} / system.log