问题标签 [appstore-sandbox]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
442 浏览

macos - Mac App Store 应用程序是否允许读取其他应用程序的 .plist 文件?

是否允许 Mac App Store 上的 Mac 应用程序读取(内置)应用程序的 .plist 文件,还是我需要将其完全沙箱化(脚本桥不提供该功能)?

0 投票
1 回答
2688 浏览

macos - Mac OS X:在 finder + App Sandbox 中打开文件

我尝试打开一个工作正常的查找器窗口,但每次我这样做时都会延迟 1 秒并记录一个错误。

日志显示:

__CFPasteboardIssueSandboxExtensionForPath: [/Users/TheUser/Downloads/] 错误

这是正常的吗?我已启用权利并允许下载文件夹访问。

0 投票
1 回答
668 浏览

python - Lion 的新安全模型将如何影响 Python 之类的东西?

我很想知道 OS X Lion 中的新安全模型将如何影响未来。具体来说,我在质疑权利和沙盒。

这不是这些是否是好主意的问题。相反,这是一个对未来会发生什么的最佳猜测的问题。

我对Python之类的东西很好奇。我的公司在没有基于 Web 的软件的情况下为紧急情况制作了一个小型 Python 应用程序。这包括读取和写入文件系统。

我们的应用程序没有任何权利,即因为它只是 Python 代码,我们不做任何 Cocoa 包装。当 Mac App Store 要求所有应用程序都必须经过沙盒处理并列出其授权生效时,我想知道 Apple 是否会推出操作系统更新并说,“这就是我们从现在开始的安全方式,如果你的应用程序不符合我们的安全模型,它不会运行,因为它不安全。”

我对此有着复杂的情绪。一方面,我认为这对于让消费者的机器更加安全非常有用。更少的流氓代码和所有的腐烂。另一方面,我认为,对于许多开发人员来说,这将使开发成为一个活生生的地狱。

我还想知道如果 Leopard 或 Snow Leopard 发布相同的更新,Lion 是否应该发布这样的更新。我的想法不是 Leopard,因为它比当前操作系统落后两代。Snow Leopard 完全取决于 Apple 希望支持旧操作系统多长时间。

因此,现在我向 Apple 开发人员开放,让他们就这个话题发表自己的看法,并可能在以前没有的地方产生想法。

0 投票
2 回答
484 浏览

macos - 我可以在不启用沙盒的情况下提交 Mac 应用程序吗?

正如我听说提交的 Mac 应用程序必须启用沙盒。因为我想使用NSRunningApplication.terminate,它不适用于沙盒。

0 投票
1 回答
607 浏览

xcode - Mac 沙盒和 XCode 3.x

有没有办法使用 XCode 3.x 编译兼容沙盒的应用程序?

有没有关于如何做到这一点的文章或教程?

我是 Mac 应用程序的开发人员,我坚持使用 XCode 3,因为该应用程序使用了两个IBPlugins(据我所知)在 XCode 4.x 中不受支持的。从 2011 年 11 月开始,沙盒应用程序必须在 Mac AppStore 上发布(仍然没有更新,有什么消息吗?)

0 投票
1 回答
799 浏览

objective-c - 如何为 IOKit 属性设置临时权利?

我正在为我的 Mac 应用程序使用沙盒。我需要像这样为 IOKit 设置一个属性,

由于应用程序沙盒,系统不允许我这样做。如果我关闭应用沙盒,则该属性设置正确。

我在控制台中得到的错误信息如下, deny iokit-set-properties IORequestIdle

有没有办法让我设置一个临时权利,以便我可以正确地做到这一点。如果是这样,我该怎么做?

0 投票
2 回答
1414 浏览

macos - 在沙盒环境中激活其他应用程序菜单项的 CGEventPostToPSN() 替代方案?

我有这个应用程序,我需要在我的应用程序中激活其他应用程序的菜单项(如 Print cmd+p)。现在我正在使用 CGEventPostToPSN() 来完成这项工作,它工作正常,但是当我激活沙盒时,它停止工作。

我现在的问题是当我需要启用沙盒时我该怎么办?我听说过很多有关 Accessibility API 的信息,但我不知道如何激活其他应用程序的菜单项。我很感谢这个问题的任何答案。

费边

0 投票
3 回答
6667 浏览

macos - 在 OS X 中获取用户库文件夹的路径

我需要打开一个以用户库文件夹作为目标文件夹的 NSSavePanel。通常我会通过输入来做到这~/Library/一点[NSSavePanel beginSheetForDirectory]

只要应用程序没有被沙盒化,它就可以正常工作。对于沙盒应用程序,这将导致NSSavePanel尝试访问应用程序文档“框”内的文件夹。

我不能参考,/Users/username/Library/因为我在运行时不认识用户username。那么我如何链接到可可中的这条路径?

0 投票
2 回答
469 浏览

macos - 沙盒环境中基于 SQLite 的 NSPersistentDocument

我正在尝试使用 Lion 中的新沙盒规则更新 Mac 应用程序。但是,尽管请求com.apple.security.files.user-selected.read-write了权限,我还是遇到了错误。当我查看日志时,我看到deny file-write-create /Users/thom/Desktop/Filename.blah-journal.

考虑到沙盒规则,这是有道理的——用户为 SQLite 存储选择了一个位置,因此允许写入该位置。但是,SQLite 将其日志文件与实际文件一起维护,并且禁止对其进行写入。

在这种情况下,SQLite 支持的 NSPersistentDocument 如何在沙盒环境中工作?

0 投票
1 回答
1943 浏览

macos - OS X 沙盒中的非就地保存

我正在为 Mac OS X 10.7 开发一个沙盒应用程序,我正在尝试以类似于以下方式实现文件保存NSDocument

  1. 将文件的新内容重写为临时文件
  2. 用临时文件覆盖原始文件

我遇到的问题是沙箱拒绝第 2 步。我在控制台中看到以下行:

sandboxd: XXXX deny file-write-create /Volumes/Home/sbooth/Test Files/Test

我已经打开此文件进行读写,并且启用了文件系统读/写访问权限。我知道 NSDocument 这样做没有特殊权利,所以我试图弄清楚我错过了什么。

这是我现在的工作方式(应用程序的这一部分是 C++,而不是 Objective-C/C++):

如果我禁用沙盒,代码可以正常工作。

编辑:Femi 要求提供更多信息。我使用 C stdio 打开文件:

fclose并在创建临时文件之前关闭。

我的权利是:

还值得注意的是,Apple 在他们的App Sandbox Design Guide中说:

如果您使用 NSDocument 类以外的任何技术管理文档,则必须转换为使用此类。NSDocument 类自动与 Powerbox 一起使用。如果用户使用 Finder 移动文档,NSDocument 还支持将文档保存在沙箱中。