控制台未在 Apple 的快速启动中显示 Mac OS 应用沙箱违规

Posted

技术标签:

【中文标题】控制台未在 Apple 的快速启动中显示 Mac OS 应用沙箱违规【英文标题】:Console not showing Mac OS app sandbox violations in Apple's Quick Start 【发布时间】:2012-11-05 10:49:19 【问题描述】:

我正在逐步通过 this Apple tutorial 启用沙盒。我已经成功完成了这些部分,创建了 Xcode 项目,启用了应用沙盒,创建了证书,指定了代码签名身份并确认了应用是沙盒。

当我尝试诊断故意违规时,控制台中没有显示任何内容,如指南所述。启用应用沙盒已勾选,但其下方没有任何内容(例如,允许传出连接)。权利文件表明已启用沙盒,该应用未显示 Apple 网站,并且 Activity Monitor 显示该应用已被沙盒。

我正在使用Console.app,查看所有消息(如本教程的诊断应用沙盒违规部分所述)。我期待看到来自sandboxd 的消息,但看不到与沙盒相关的任何内容。应用程序本身的行为与教程中描述的完全一样,在未沙盒时显示 Apple 网站,然后在沙盒时不显示。

我使用的是 Mac OS 10.8.2、Xcode 4.5.1。我错过了什么?

【问题讨论】:

看起来您已经成功地将您的应用程序沙盒化,但您的问题是您看不到正在记录的错误。您能否提供更多关于您如何查找错误、您希望看到什么以及您实际看到(或未看到)的详细信息? 您好,感谢您的回复。我正在使用控制台(在 /Applications/Utilities 中)并查看所有消息(如本教程的“诊断应用程序沙盒违规”部分所述)。我期待看到来自沙盒的消息,但看不到与沙盒相关的任何内容。应用程序本身的行为与教程中描述的完全一样,在没有被沙盒化时显示苹果网站,然后在被沙盒化时不显示它。 感谢您提供的额外信息。我为您将其添加到您的问题中,因为它可能有助于向其他人寻求解决方案。不过,我个人没有答案。对不起。 【参考方案1】:

我在 10.9.2 和 Xcode 5.1 上也遇到过这种情况,但我很确定这些天操作系统和 Xcode 版本无关紧要(如果你使用的是 10.5 之前的版本可能很重要)。在我的情况下,实际的/var/log/system.log 文件仍将显示sandboxd 消息,但它们不会出现在“All Messages”查询中,因此我无法访问“完整报告”按钮在教程中谈到。

在我的特定机器上,我确实发现如果我以管理员用户身份登录(我的系统上有两个用户,普通用户和管理员/root),我可以在“所有消息”中看到日志消息,其中让我能够检查沙盒消息并发现它们是使用 UID=0 发送的。我不确定这是如何控制的(为什么它只影响我们,但其他人都很好?),但显然如果你不是 root,控制台不会在系统日志中显示发送给 / 由 root 发送的消息自己。

这导致了一个 hacky 解决方案:以 root 身份启动您的控制台。

为此,在终端类型中:

sudo -b /Applications/Utilities/Console.app/Contents/MacOS/Console 

现在您应该可以使用该控制台查看所有消息了。

--

在弄清楚这一点时,我确实走入了死胡同,试图弄清楚日志记录配置文件可能会如何伤害我。结果证明它们与我无关,但它们最终可能会帮助你:

调查发现this thread 有人遇到了类似的问题,并且看起来原因是在/etc/asl.conf/etc/syslog.conf 中过滤

我还找到了 Apple 关于日志记录和过滤的文档 Logging Errors and Warnings: Messages are filtered

如果您在 /var/log/system.log 中看不到沙盒消息,您可能需要考虑弄乱 .conf 文件,但如果您可以在那里看到它们,那么您的问题可能与它们无关.就我而言,它们是一条死胡同,我花了几个小时沿着这条路线走下去,然后才发现“以 root 身份启动”解决方案。

【讨论】:

以上是关于控制台未在 Apple 的快速启动中显示 Mac OS 应用沙箱违规的主要内容,如果未能解决你的问题,请参考以下文章

XAMPP 控制面板未在 Mac 上显示

Sql 数据库未在 mac 中启动 XAMPP

Worklight CLI 未在 mac 中启动 Giving Error

Appium 桌面未在 MAC 中启动 Appium Inspector UI

mac快捷键大全

Apple Watch 图像未在模拟器上显示