Macos OSX沙箱问题
我在App Store中有一个Mac应用程序,我希望在它成为强制性要求之前采用沙箱。我遇到了两个问题,希望在这里发布一些关于以下情况下最佳实践的见解:Macos OSX沙箱问题,macos,cocoa,sandbox,Macos,Cocoa,Sandbox,我在App Store中有一个Mac应用程序,我希望在它成为强制性要求之前采用沙箱。我遇到了两个问题,希望在这里发布一些关于以下情况下最佳实践的见解: 在我的应用程序中,我使用NSOpenPanel提示用户加载专有文件格式。加载文件后,我的应用程序将对其进行解析,并将NSURL列表收集到本地文件。然后将这些本地文件传递给NSImage的initWithContentsOfURL:method。不幸的是,加载图像文件的行为会导致沙盒取消该操作。我理解,之所以会发生这种情况,是因为用户已明确授予我
- 在我的应用程序中,我使用NSOpenPanel提示用户加载专有文件格式。加载文件后,我的应用程序将对其进行解析,并将NSURL列表收集到本地文件。然后将这些本地文件传递给NSImage的initWithContentsOfURL:method。不幸的是,加载图像文件的行为会导致沙盒取消该操作。我理解,之所以会发生这种情况,是因为用户已明确授予我的应用程序打开NSOpenPanel选择的文件的权限,但不允许打开我专有格式中引用的文件。我如何处理这种(据说相当普遍的)情况
- 我的应用程序包中包含一个unix可执行文件,我希望使用NSTask执行该文件。考虑到脚本包含在我的包中,在沙箱下这合法吗
希望其他人能提供更多信息。我发现,特别是“应用程序沙箱”论坛非常有帮助,因为苹果员工经常会来这里。到目前为止,我发现沙箱是一个无法使用的烂摊子。首先简单一点:您可以使用NSTask运行帮助程序,它将继承应用程序的沙箱
那些URL:不容易/不可靠/根本不。有一种方法可以将NSURL保存到您有权访问的文件中,以便在应用程序的后续运行中重新加载并重新获得访问权,但是它被认为是脆弱的,不建议使用。阅读苹果开发者论坛,这是苹果公司承认的问题,他们正在“研究”;考虑到这一点,使用脆弱解决方案可能不值得付出努力-如果你真的想现在就破解某种可行的东西,请在开发者论坛上搜索脆弱解决方案。简单一点:你可以使用NSTask运行你的助手,它将继承你应用程序的沙盒 那些URL:不容易/不可靠/根本不。有一种方法可以将NSURL保存到您有权访问的文件中,以便在应用程序的后续运行中重新加载并重新获得访问权,但是它被认为是脆弱的,不建议使用。阅读苹果开发者论坛,这是苹果公司承认的问题,他们正在“研究”;考虑到这一点,使用脆弱的解决方案可能不值得付出努力——如果你真的想现在就破解某种可行的东西,那么就在开发者论坛上搜索脆弱的解决方案