0

在我的 Mac 程序中,我想将位于 /private/var/db/dslocal/nodes/Default/users/xx.plist 的文件复制到另一张光盘

大概它会失败,而且确实如此。我使用 copyItemAtPath:toPath:error:的 api 来执行此操作,并且我 NSLog 了错​​误信息:它说 /private/var/db/dslocal/nodes/Default/users/xx.plist 这个文件无法打开因为我无权查看。操作无法完成,权限被拒绝。

任何人都可以向我介绍一些我应该阅读以解决我的问题的文档或示例代码吗?请!

4

1 回答 1

0

您正在尝试做一些需要用户成为管理员(或 root)的事情,这需要提升访问权限。在 OSX 中解决此问题的方法是将特权代码分解为一个单独的可执行文件,该可执行文件在提示用户输入管理员凭据后以提升的权限运行。

查看提示用户的 OSX 授权服务: https ://developer.apple.com/library/mac/#documentation/Security/Reference/authorization_ref/Reference/reference.html

和 SMJobBless 用于创建具有提升权限的应用程序: - https://developer.apple.com/library/mac/#samplecode/SMJobBless/Introduction/Intro.html

于 2013-05-03T08:51:17.837 回答