我有一个mac应用程序,我在其中删除用户主目录中的一些数据。
我的应用被拒绝说出以下原因。
The app only finds files in the ~/Downloads folder. It would be appropriate to have the user grant access to the Home folder.
所以我使用NSOpenPanel询问用户的访问权限,但我不知道如何访问用户的隐藏文件夹。
我已成功为我的应用启用了沙盒,但现在在允许按钮上,我该怎么办?
请指导我......
任何帮助都将受到高度赞赏。
提前致谢...
答案 0 :(得分:2)
我花了一些时间研究这个问题,我可以说,如果你想要一个简单的解决方案来访问应用程序沙箱之外的文件,那就不可能了。
即使你愿意采用更强硬,更技术性的解决方案,它仍然可能无法实现。
您应该在Apple的App Sandbox Design Guide entitled "Accessing User Data"中查看此部分,特别是这一点:
如果您的应用需要访问用户的主目录才能访问 功能,让Apple知道你使用Apple bug的需求 报告系统。此外,请务必遵循指导 关于iTunes Connect网站上提供的权利。
下一段对其他应用的偏好说了同样的话。由于您试图操纵 - 或删除 - 其他应用程序的文件,您将不得不向Apple请求许可和/或指导来执行此操作。
如果这是我的问题,我可能尝试的唯一解决方法是提出可能涉及Security-Scoped Bookmarks and Persistent Resource Access,但正如您从链接文档中看到的那样,设置并非易事。
总结:如果您希望自己的应用保持沙盒,则可能需要重新考虑您要完成的工作。
可在此related question中找到更多信息。