gpt4 book ai didi

macos - 控制台在 Apple 的快速入门中未显示 Mac OS 应用程序沙箱违规情况

转载 作者:行者123 更新时间:2023-12-03 16:37:53 24 4
gpt4 key购买 nike

我正在单步执行this Apple tutorial用于启用沙箱。我已成功完成这些部分:创建 Xcode 项目、启用应用程序沙箱、创建证书、指定代码签名身份并确认应用程序已沙箱化。

当我尝试诊断故意违规时,控制台中没有像指南描述的那样出现任何内容。启用应用程序沙盒已勾选,但其下方没有任何内容(例如允许传出连接)。权利文件表明沙盒已启用,应用程序未显示 Apple 网站,并且事件监视器显示应用程序已沙盒化。

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

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

最佳答案

我在 10.9.2 和 Xcode 5.1 上也经历过这种情况,但我很确定操作系统和 Xcode 版本现在已经无关紧要了(如果您使用的是 10.5 这么旧的版本,可能会很重要)。就我而言,实际的 /var/log/system.log 文件仍将显示 sandboxd 消息,但它们不会显示在“所有消息”查询,因此我无法访问教程中提到的“完整报告”按钮。

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

这导致了一个棘手的解决方案:以 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 身份启动”解决方案。

关于macos - 控制台在 Apple 的快速入门中未显示 Mac OS 应用程序沙箱违规情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13230540/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com