Macos NSFileManager没有';没有管理员权限无法工作

Macos NSFileManager没有';没有管理员权限无法工作,macos,cocoa,nsfilemanager,Macos,Cocoa,Nsfilemanager,我正在开发一个macOS应用程序(分布在Mac app Store之外),我从Internet下载一些文件,在localDomainMask下的applicationSupportDirectory中创建一些文件夹,并使用NSFileManager类将这些文件写入创建的文件夹 当应用程序在管理员用户帐户中运行时运行良好,但当该帐户没有管理员权限时(例如,如果我将其作为来宾用户使用),则无法正常运行 如何使应用程序请求管理员权限,以便NSFileManager不会抛出与权限相关的错误?如果确实需要

我正在开发一个macOS应用程序(分布在Mac app Store之外),我从Internet下载一些文件,在
localDomainMask
下的
applicationSupportDirectory
中创建一些文件夹,并使用NSFileManager类将这些文件写入创建的文件夹

当应用程序在管理员用户帐户中运行时运行良好,但当该帐户没有管理员权限时(例如,如果我将其作为来宾用户使用),则无法正常运行


如何使应用程序请求管理员权限,以便NSFileManager不会抛出与权限相关的错误?

如果确实需要这样做,则需要升级应用程序的权限,或者更好地升级应用程序的帮助器,以便可以执行该操作。实现这一目标的方法有很多;显然,这样做不仅仅适用于任何应用程序,否则就没有安全性

一个好的开始是苹果的


HTH

你处理这个问题是错误的。作为任何用户运行的应用程序都可以写入该用户的应用程序支持目录(应用程序应该在其中创建自己的子目录)。如果你的应用程序由于权限错误而失败,那么它正在写不应该写的地方。检查应用程序的确切写入位置、文件夹权限等。如果需要,在新创建的用户帐户中进行测试。如果您找不到问题,请编辑您的问题以显示确切的路径、权限等,可能会有人帮您解决。您好,谢谢您的评论。我已经检查过了,实际上只有在用户不是管理员的情况下(我已经更新了第一段),在
localDomainMask
下编写时,它才会失败。事实上,如果用户不是管理员,它不应该写在那里,因此我的问题仍然是:如何让应用程序请求管理员权限,以便NSFileManager不会抛出与权限相关的错误?您使用
localDomainMask
而不是
userDomainMask
有什么原因吗?后者是当前用户的应用程序支持(或沙盒位置),您应该始终对其中任何一个具有写访问权限;IIRC
local
是/Library中的一个问题。这是一个非常好的问题,我已经与我的团队分享了这个问题,我已经确认,即使没有管理员权限,向
userDomainMask
写入也是可以的。谢谢。这是我在问了这个问题后发现的,我计划在周一看一看。我还不完全理解helper工具的概念,也不完全理解在我的上下文中为什么需要它,但也许我会。