objective-c - Cocoa App 中的多重授权

标签 objective-c macos cocoa authorization nstask

我正在编写一个需要修改系统代理设置的 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/

相关文章:

ios - SceneKit AVPlayer 仅播放音频

macos - NSTextView 背景未适当调整大小

macos - 在 zsh 中哪里放置 $PATH 变量断言?

cocoa - NSTextField 内阴影

iphone - 是否有框架/API 可以用来将 iPhone-SDK 的 ABRecordRef 实例导出到 vCard?

objective-c - 在 Objective-C 中从 unsigned char * 到 char * 的定义行为

Objective-C foreach 是可枚举对象保证只被调用一次吗?

ruby - 在 Mountain Lion 中构建 gem 时出错

cocoa - NSTableView 可选择但不可编辑

objective-c - 在 Cocoa 中写入 XML