在没有Apple开发人员证书的情况下要求用户提升权限并提升应用程序

Tia*_*ago 10 macos objective-c osx-mavericks osx-yosemite

显然,从10.7开始,AuthorizationExecuteWithPrivileges已被弃用.我收集的信息的一般要点似乎建议使用ServiceManagement.frameworkSMJobBless()函数来部署一个帮助应用程序.

我对它的理解是,这需要从Apple购买开发人员证书,以便对我的应用程序和帮助程序进行编码 - 或者这不起作用.它是否正确?

我最初AuthorizationExecuteWithPrivileges曾经问过用户提升权限,因为他们需要访问另一个正在运行的进程.没有它,我的应用程序无法作为其意图的非官方插件.代码签名方式真的是从这里开始的唯一方式吗?我试图避免购买开发人员证书,因为它的成本非常高.

有没有人找到任何替代方法来重新启动具有提升权限的应用程序,当然还有用户权限?

小智 2

代码签名方式真的是唯一的出路吗?

据我所知,没有安全的替代方案AuthorizationExecuteWithPrivileges

它在 Yosemite 下仍然运行良好。还没有尝试过El Capitan。

如果将来电话消失,您可以尝试优雅地失败。

由于成本高昂,我试图避免购买开发人员证书。

好吧,如果有帮助的话,代码签名证书的有效期将是几年。

我很确定我的开发者帐户已经失效,没有任何问题。

所以基本上是每五年 99 美元。