我在App Store中有一个Mac应用程序,我希望在成为强制要求之前采用沙盒。我遇到了两个问题,希望在这里发布一些有关以下情况的最佳实践的见解:
如果有人能澄清以上几点,那将不胜感激。
答案 0 :(得分:1)
1)根据我的理解,NSURL对象包含稍后重新访问文件所需的权限,因此如果您使用的是硬编码路径,则可以使用存档的NSURL对象替换它们。这也假设用户在较早的时间点在NSOpenPanel中选择了这些内容。
2)您可以运行NSTask,但它会继承主应用程序的权限。
希望其他人可以提供更多信息。我发现Mac Developer Boards,特别是“应用程序沙盒”论坛是有用的,因为Apple员工经常参与。到目前为止,我发现沙盒是一个无法使用的混乱。
答案 1 :(得分:0)
首先简单:您可以使用NSTask运行助手,它将继承您应用的沙箱。
这些网址:不容易/可靠/根本不存在。有一种方法可以将NSURL保存到您有权访问的文件,以便随后运行您的应用程序并重新加载它们并重新获得访问权限,然而它被认为是脆弱的,不建议使用。阅读Apple开发人员论坛,这是Apple承认他们“正在努力”的问题;鉴于使用脆弱的解决方案可能不值得努力 - 如果你真的想要破解现在有用的东西,请在开发者论坛中搜索脆弱的解决方案。