我正在编写一个需要修改系统代理设置的 cocoa 应用程序(我正在使用 networksetup
来执行此操作)。问题是它需要系统管理员级别的访问权限才能更改代理设置。我尝试使用 Apple 的默认 API(我使用 STPrivilagedTask
包装器)以管理员身份运行 NSTask
并运行具有管理员权限的 shell 脚本。无论哪种方式,它都能完美运行,但问题是我的应用需要多次更改设置,而用户每次都必须输入密码。
有没有办法让我获得一次特权,然后一次又一次地使用它?
最佳答案
您要做的是编写一个“特权帮助工具”,将其包含(或交付或嵌入)到您的应用程序包中,然后您可以使用 SMJobBless()
进行调用。
创建辅助工具不适合胆小的人,而是 here is a related question with answers这可能会让您走上正确的道路。
关于objective-c - Cocoa App 中的多重授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21765331/