如何在OSX Swift应用程序中请求管理员登录?

时间:2016-12-14 16:02:14

标签: swift xcode macos applescript

我正在尝试仅在管理员登录进入对话框时才打开应用程序。我尝试使用以下方法使用AppleScript:

set adminLogin to do shell script "" with administrator privileges
display dialog adminLogin

这会显示我想要的对话框,我可以将其放入NSTask中来执行它。我甚至可以获取输出并使用它来关闭if语句下的应用程序。

我想使用实际的应用程序而不是osascript来提及它需要管理员登录才能继续,并且这个scpt文件在我编译,构建和存档以供实际使用时就会消失,这意味着我d必须在创建后将此文件重新添加到我为此制作的所有客户端。对于可能被利用而不是使用应用程序所持有的相同进程的快速登录依赖于不同任务这一事实似乎并不太有效。

有没有办法可以通过编程方式请求管理员登录以继续打开应用程序?我可以使用CoreLocation和 - 或者我可以使用AuthorizationServices()来执行此任务吗?

1 个答案:

答案 0 :(得分:1)

看看LocalAuthentication框架。 deviceOwnerAuthentication有一个策略可以处理Touch ID和设备密码验证。

LocalAuthentication Framework参考:https://developer.apple.com/reference/localauthentication

deviceOwnerAuthentication: https://developer.apple.com/reference/localauthentication/lapolicy/1514164-deviceownerauthentication

相关问题