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

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

我该怎么做呢?

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


当前回答

模拟器中有一个打开控制台的选项

Debug > Open System Log

或使用 键盘快捷方式:⌘/

其他回答

您可以通过使用Safari技术预览应用程序看到模拟器控制台窗口,包括Safari Web检查器和所有Web开发工具。 在模拟器上的Safari中打开页面,然后转到Safari技术预览>开发>模拟器。

[苹果日志]

您可以在Mac上使用控制台应用程序(在设备中选择您的设备)查看使用NSLog, os_log, Logger发送的日志消息(您将不会看到打印功能的日志)。

也请检查(Action ->包含<Info/Debug>消息)

请注意,如果你想从WebView(UIWebView或WKWebView)查看日志,你应该使用Safary -> Develop ->设备

[查找崩溃日志]

如果你使用Swift,请记住println只会打印到调试日志(出现在xCode的调试区域)。如果你想打印到system.log,你必须像以前一样使用NSLog。

然后您可以通过它的菜单查看模拟器日志,调试>打开系统日志…cmd + /

我可以直接通过iOS模拟器打开日志:Debug -> open System log…不确定这是什么时候引入的,所以它可能不适用于早期版本。

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