问题标签 [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 回答
2955 浏览

cocoa - 应用沙箱:如何允许 XPC 服务读取用户在父应用中打开的文件?

我有一个简单的 Cocoa 图像预览应用程序。用户使用 选择文件NSOpenPanel,应用程序使用 Quick Look API 生成预览图像。

我想将预览生成移到单独的 XPC 服务中。如果没有应用沙盒,一切正常,但在为父应用和 XPC 服务启用应用沙盒后,XPC 服务被拒绝读取用户选择的文件

允许父应用读取文件(因为它是通过 NSOpenPanel 选择的)。

如何将用户选择的文件的“文件读取”权限从父应用程序转移到XPC进程,以便XPC进程可以读取文件以生成预览?

我的 XPC 服务通过其权利请求文件读取访问,我将以下密钥添加到 XPC 服务 Info.plist,但这没有帮助:

0 投票
2 回答
1428 浏览

objective-c - 如何检测是否可以在沙盒应用程序上访问 NSURL?

我正在编写一个 OS X 应用程序,它有一个带有预览附件视图的打开面板。

问题是当我选择一个不在具有沙盒权限的文件夹中的文件时,我无法预览它。

在尝试打开文件之前,有什么方法可以判断文件是否会受到沙箱权限的限制?

我已经尝试- (BOOL)checkResourceIsReachableAndReturnError:(NSError **)error NSURL该类,但即使文件受到保护,它也会返回 true。

0 投票
1 回答
90 浏览

app-store-connect - 提交 Mac App 时签名无效

我在 Mac App Store 上有一个 1.0 版的应用程序。

后来,我升级到了 Mountain Lion GM 和 Xcode 4.4 GM。

我已经向应用程序添加了功能,我正在尝试将其作为 1.2 版提交。

它通过验证并成功提交,但我不断收到“无效二进制”和“无效签名”错误。

当我尝试

它成功打印出标识符、权限等。

我完全迷失了,因为除了代码和包含沙盒之外,什么都没有改变。

0 投票
1 回答
1737 浏览

macos - network-outbound 被网络授权拒绝

我正在尝试将我的 OS X 应用程序沙箱化。

我的应用程序使用 NSTask 创建一个 SSH 隧道。

我已允许 com.apple.security.network.client 和 com.apple.security.network.server 权利,但在创建隧道时仍然出现网络出站错误。

错误如下:

该报告未显示任何相关信息:

作为记录,这是我的权利清单:

这里的一只手会非常非常有帮助。

提前致谢。

0 投票
1 回答
1801 浏览

cocoa - 沙盒化 Cocoa 应用程序组

权利文档描述了一种方法,在该方法中,由单个开发团队生产的多个应用程序可以共享对特殊组容器的访问权限

我已将授权密钥添加到主应用程序和包含在主应用程序包中的帮助应用程序。永远不会创建组目录,并且获取路径的方法 - [NSURL containerURLForSecurityApplicationGroupIdentifier:]- 实际上并不存在于任何标题中。

创建共享组容器我缺少什么?

更新:添加权利和组容器创建

这是我的主应用程序和帮助程序应用程序的权利文件。(将 TEAM_ID 替换为我的实际 ID)

我尝试根据开发论坛的一些信息自己创建 Group Container 目录:

在主应用程序和辅助应用程序中执行该操作会在它们的每个沙箱内创建两个不同的目录。

我从 Apple AppSandboxLoginItemXPCDemo中找到了一个示例项目,它使用 XPC 的应用程序组。我可以通过更改权利和捆绑标识符以匹配我的团队来使其工作,但无法共享组容器。

0 投票
2 回答
923 浏览

objective-c - 沙盒化时如何访问另一个文件引用的文件(应用商店)

例如,如果我有一个 XML 文件(从另一个应用程序导出,因此我无法控制内容),它将不同文件夹中的图像引用到 XML 文件,我无法读取图像,直到用户使用浏览它们我的应用程序。

我可以通过让他们浏览到更高级别的文件夹(甚至浏览到“/”)来解决这个问题,但是告诉用户“我无法访问 /path/to/file,你能拜托吗?”现在浏览它,我可以打开它吗?”

有没有更好的解决方案?是不是有某种方法可以显示类似“AppX 正在尝试从 /Users/UserX/FolderX 读取,你会授予权限吗?”这样的提示。

0 投票
1 回答
1097 浏览

cocoa - Cocoa Sandbox:如何使用 NSSavePanel 获得写入多个文件或目录的权限

因此 NSSavePanel 当前返回一个带有扩展名的文件 url,并且您的应用程序有权写入该文件。

有没有办法让用户选择要写入的目录?例如,如果应用程序一次导出十几个图像,则用户不会提前指定名称。

0 投票
1 回答
523 浏览

objective-c - 更正权利标志以将文件保存在同一位置两次

NSSavePanel在我的应用程序中使用。在我的 OS X 10.7 上一切正常,但该应用程序被 Apple 拒绝,并附有以下评论:

第二次导出时,之前选择的保存位置不起作用。用户必须取消选择该位置,然后再次选择它才能写入文件。请确保您拥有必要的权利。

这篇评测是在运行 OS X 10.8 的 iMac 上进行的。

这是我的保存面板代码:

目前我正在使用这些标志:

我必须使用什么权利标志来解决此问题?

0 投票
2 回答
1436 浏览

macos - Mac OS X Sandbox:共享访问用户选择的文件

我有一个安装代理的应用程序,我希望代理能够访问用户在应用程序中使用NSOpenPanel.

在 Mac OS Sandbox 中执行此操作的最佳方法是什么?

0 投票
1 回答
363 浏览

sandbox - 在 OS X Sandbox 中终止子进程

我正在尝试将 Apache 捆绑到我的沙盒应用程序中。启动它有效,但我发现一些问题阻止它。通过直接调用“kill”或使用“apachectl -k stop”,我不断收到“拒绝信号”沙盒错误。

有什么方法可以完成我正在尝试的事情吗?是否所有信号都被拒绝?

我正在最新版本的 OS X 10.8 中对其进行测试。