gpt4 book ai didi

macos - 应用程序如何无声地判断它是否在沙箱中运行?

转载 作者:行者123 更新时间:2023-12-04 04:51:30 27 4
gpt4 key购买 nike

我正在编写一个可以运行沙盒或不运行的应用程序。

我喜欢让我的代码独立于我以后是否对它进行沙盒协同设计,即我希望在我的代码(或构建环境中)中有一个常量,我必须更改我的代码才能知道它是否会是否为沙箱构建。

当然,在某些情况下,我需要在我的代码中使用不同的 API,具体取决于应用程序是否被沙盒化。

所以,我喜欢在我的应用程序中有代码来动态检测它是否在沙箱中运行。我喜欢这样做而不在控制台日志中收到消息。即,尝试访问沙箱中无法访问的文件不是一个好的解决方案,因为这会导致日志条目,这反过来会激怒我的应用程序的用户,认为有问题。

最佳答案

我现在找到了一个更简单的技巧:

我得到了 Preferences 文件夹的路径。如果它看起来像这样,我就被沙盒化了:

/Users/<user>/Library/Containers/<bundle_id>/Data/Library/Preferences

这足以满足我的需求,我只是想避免看到控制台消息。如果 Apple 更改路径并且我的测试失败,那么我将看到的最糟糕的情况是有关拒绝操作的控制台消息。我可以忍受。

关于macos - 应用程序如何无声地判断它是否在沙箱中运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17370520/

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