gpt4 book ai didi

macos - 为什么沙箱不能阻止我的应用程序访问任意 URL?

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

我的理解是,沙盒应用程序不允许访问用户未选择的任意 URL。那么,为什么我的简单测试应用程序能够:

NSWorkspace.shared.open(URL(fileURLWithPath: "/Library/Application Support/App Store/adoption.plist"))

调试和发布版本都可以工作,没有控制台消息。我的权利文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
</dict>
</plist>

我一定是误会了什么。开发者的应用程序在开发 Mac 上是否未经检查?如果是这样,我如何测试我的应用程序不包含违规行为?

最佳答案

通过使用 NSWorkspace,您实际上并没有打开文件。您的应用无权访问该文件的内容。

您只是指示系统使用处理该文件的默认应用程序打开该文件。这对于沙盒应用程序来说是完全合法的。

例如,尝试使用 NSFileHandle 打开,您应该会看到错误。

关于macos - 为什么沙箱不能阻止我的应用程序访问任意 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51159822/

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