沙盒应用程序无法挂载卷
Posted
技术标签:
【中文标题】沙盒应用程序无法挂载卷【英文标题】:Sandbox app failure to mount a volume 【发布时间】:2015-02-04 10:02:52 【问题描述】:我们的应用程序提供加密文件系统。它挂载了一个用户空间卷,允许用户对其进行读/写/创建文件。数据实际上存储在应用程序目录内的加密保管库中,作为挂载卷的后端存储。
应用程序运行良好,直到我们对其进行沙盒处理,并且挂载失败。我在控制台中找到以下内容。
2015 年 4 月 2 日下午 2:56:10.000 内核 [0]:沙盒:拒绝文件写入创建 /Volumes/Personal Vault
有谁知道如何允许沙盒应用程序在 /Volumes 下挂载一个卷。我没有找到这样做的权利。
【问题讨论】:
【参考方案1】:您必须添加com.apple.security.files.user-selected.read-write
授权并使用NSOpenPanel
让用户选择卷文件夹。
然后您可以使用 NSURLs 保存此选择
bookmarkDataWithOptions:includingResourceValuesForKeys:relativeToURL:error:
作为安全书签。或者每次都询问用户。
我的问题是,我现在可以在 /Volumes
中创建挂载点,但我仍然收到 Sandbox 消息:
deny file-mount
但我找不到允许挂载的权利…… 因此,沙盒应用似乎无法挂载某些东西。
【讨论】:
以上是关于沙盒应用程序无法挂载卷的主要内容,如果未能解决你的问题,请参考以下文章
在没有 noexec 选项的情况下将卷挂载到 docker 容器中
服务器raid数据恢复光纤存储硬盘故障导致raid崩溃,卷无法挂载的数据恢复案例