objective-c - osx - 如何以编程方式删除具有提升权限的文件?

标签 objective-c macos elevated-privileges

我正在尝试从 ~/Library/PreferencePanes 文件夹中删除一个文件,这无法通过普通权限完成。通常,如果您需要从 ~/Library 文件夹中删除任何文件,系统会询问您的用户名和密码。

我目前的做法是用

[[NSFileManager defaultManager] removeItemAtPath:filePath error:&error]

但这会继续返回错误([error localizedDescription]):

无法删除 AppName.prefPane,因为您无权访问它。

为了获得删除文件所需的这些提升的权限,我需要使用什么逻辑和代码?

谢谢!

最佳答案

你应该通过Authorization Services Programming Guide .您将需要使用 AuthorizationExecuteWithPrivileges

关于objective-c - osx - 如何以编程方式删除具有提升权限的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6267197/

相关文章:

ios - 如何从我的 ios 应用程序向 whatsapp 发送图像或文本?

ios - 应用程序安装失败 : A valid provisioning profile for this executable was not found

android - adb 设备在 Mac OS X 中使用 Galaxy S4 显示离线

powershell - 使用 Invoke-Command 时提升的权限

objective-c - 如何将 NSString 分解为具有非显着空白抑制的单词?

iphone - 从 NSMutableArray 中拉出 NSArray

macOS 上的 Linux 层

macos - OSX 上的 Vagrant LoadError

powershell - 通过在 Windows 10 上提供管理员凭据,无需提升的 New-CimSession?

windows - 在操作系统启动时启动提升权限的应用程序,而无需UAC提示